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