Я всегда пытаюсь узнать больше о языках, которые я использую (разные стили, структуры, шаблоны и т. Д.). Я заметил, что никогда не использую std :: for_each
, поэтому подумал, что, возможно, мне стоит начать. В таких случаях цель состоит в том, чтобы расширить свой кругозор, а не , а не в некоторой степени улучшить код (читаемость, выразительность, компактность и т. Д.).
Поэтому, имея в виду этот контекст, неплохо было бы используйте std :: for_each
для простых задач, таких как, скажем, распечатка вектора:
for_each(v.begin(), v.end(), [](int n) { cout << n << endl; }
([] (int n)
является лямбда-функцией). Вместо:
for(int i=0; i
Надеюсь, этот вопрос не кажется бессмысленным. Я предполагаю, что это почти задает более крупный вопрос ... должен ли программист среднего уровня использовать языковую функцию, даже если ему действительно не нужно в на этот раз , а просто для того, чтобы он мог лучше понять эту функцию на время это может действительно принести большую пользу. Хотя этот более крупный вопрос, вероятно, уже задавался (например, здесь ).