tgoop.com/installationwizard/1126
Create:
Last Update:
Last Update:
Мне так нравится C++. Начинаешь писать свою реализацию чего угодно - узнаешь, что для этого есть специальная функция в STL типа sort_by_the_phase_of_moon
в STL.
В следующий раз начинаешь искать готовое решение в STL и натыкаешься только на уродливейшие реализации из 6 разных странных функций, эффективные (наверное), но от того только менее очевидные.
C++ находится в очень странном промежутке между Си, где надо реализовывать почти всё самостоятельно, и Python/Rust/Go, где на каждый чих в стандартной библиотеке есть готовая функция.
Например, как посчитать число строк в файле? Ну, очевидно, при помощи
auto count = std::count_if(std::istreambuf_iterator<char>{in_stream}, {}, [](char c) { return c == '\n'; });
И никто, конечно, не мешает пройтись по файлу по старинке в цикле и посчитать число
\n
(или использовать ещё что-нибудь примитивное, типа getline
). Но однозначно из-за такого решения со стороны знатоков начнётся вой об эффективности и соблюдении последних стандартов C++17!!!Ты БУДЕШЬ использовать итераторы в своём низкоуровневом коде. Ты БУДЕШЬ использовать лямбда-функции и auto. И ты БУДЕШЬ счастлив.
BY Install Wizard
Share with your friend now:
tgoop.com/installationwizard/1126