Читал что for each использовать не нужно а в место этого использовать for(int element : arr). Так вот, что лучше?
ну разница есть между ними std::for_each - функция библиотеки <algorithm>, а диапазонный for - специальный синтаксис, который появился в C++11 https://ru.stackoverflow.com/a/993530 - подробнее про разницу ссылки на справочник https://ru.cppreference.com/w/cpp/algorithm/for_each https://ru.cppreference.com/w/cpp/language/range-for