Revert "delete expression in For()"

This reverts commit a9c44ae4e5f36d45281bd71ddbee0fefffa3ad23.
Revert "variable of foreach is declaration"

This reverts commit af96801fff4bd7ec786cd79f0d26e8499c1a724e.
Revert "initializer of for is a declaration"

This reverts commit 38ddac6a5a28b9b195e869bb9b38643d0503febe.
Use auto