cpp_foreach - 8BitsCoding/RobotMentor GitHub Wiki
cpp_foreach
๋ฐฐ์ด์์ ๋์
int scores[3] = {10, 20, 30};
for(int score : scores)
{
std::cout << score << " " << std::endl;
}
์ปจํ ์ด๋์์ ๋์ผํ๊ฒ ๋์
std::map<std::string, int> scoreMap;
scoreMap["Lulu"] = 10;
scoreMap["CoCo"] = 50;
scoreMap["Mocha"] = 100;
for(auto& score : scoreMap)
{
std::cout << score.first << ": " << score.second << std::endl;
}
๋ฒ์ ๊ธฐ๋ฐ(Range-Based) for ๋ฐ๋ณต
- for ๋ฐ๋ณต๋ฌธ์ ๋ ๊ฐ๋จํ๊ฒ ์ธ ์ ์์
- ์ด์ for๋ฐ๋ณต๋ณด๋ค ๊ฐ๋ ์ฑ์ด ๋ ๋์
- STL์ปจํ ์ด๋์ c์คํ์ผ ๋ฐฐ์ด ๋ชจ๋์์ ์๋ํจ
- auto ํค์๋๋ฅผ ๋ฒ์ ๊ธฐ๋ฐ for์์ ์ธ ์ ์์
- ์ปจํ ์ด๋/๋ฐฐ์ด์ ์ญ์ํ ํ ์ ์์
๊ฐ์ผ๋ก ํน์ ์ฐธ์กฐ๋ก
score๋ก ๋ณต์ฌ๋๊ธฐ์ ๊ฐ์ ๋ณํ๊ฐ ์์
std::map<std::string, int> scoreMap;
for(auto score : scoreMap)
{
score.second -= 10;
std::cout << score.first << ": " << score.second << std::endl;
}
๊ฐ์ ๋ณํ๋ฅผ ์ฃผ๊ณ ์ถ๋ค๋ฉด ์ฐธ์กฐํ์ผ๋ก ์ฐ์
std::map<std::string, int> scoreMap;
for(auto& score : scoreMap)
{
score.second -= 10;
std::cout << score.first << ": " << score.second << std::endl;
}