Как стать автором
Обновить

Комментарии 7

Уже во многое компиляторы завезли views / ranges. Там порой более лаконичный синтаксис.

Вспомнилось как я искал аналог transform_if, но потом оказалось что это accumulate.

Статью что, GPT писал? У queue, stack, priority_queue это не контейнеры, а адаптеры, которые могут оборачивать почти произвольные контейнеры.

(Посыпаю голову пеплом - там написано, что это адаптеры)

Да и в целом ощущение, как от студенческого реферата - незнакомым с темой непонятно, знакомым - бесполезно

КДПВ у них весьма прозрачно АИшная (почему контейнер кубический и зачем у него двери и слева, и сзади?), так что таки да.

STL — это коллекция компонентов, предназначенных для работы с данными. 

Дальше уже можно не читать, так как становится ясно, что за автора статью писал AI.

И КДПВ рисовало тоже.

Очень полезно - спасибо

Вы бы хоть примеры корректные писали...

Пример про сортировку сотрудников абсолютно неверный. После первой сортировки вы получите список сотрудников отсортированный по отделам:

Alice from Accounting, Salary: 50000
Diana from Accounting, Salary: 55000
Bob from HR, Salary: 45000
Eve from HR, Salary: 48000
Charlie from IT, Salary: 70000
Frank from IT, Salary: 52000

Вторая сортировка просто отсортирует весь список по зарплатам. А вовсе не по "затем сортируем внутри каждой группы по убыванию зарплаты...". В вашем коде группы по отделам никак не учитываются, вывод будет вот такой:

Charlie from IT, Salary: 70000
Diana from Accounting, Salary: 55000
Frank from IT, Salary: 52000
Alice from Accounting, Salary: 50000
Eve from HR, Salary: 48000
Bob from HR, Salary: 45000

Чтобы сделать то, что вы хотели нужно написать одну сортировку с более сложным условием:

 std::stable_sort(employees.begin(), employees.end(), 
                  [](const Employee& a, const Employee& b) 
                  { if (a.department == b.department) 
                      return a.salary > b.salary; 
                   else 
                     return a.department < b.department; });

Ну и в целом статья вообще ни о чем: сначала пишете про std::sort, в примере std::stable_sort. Хоть бы пояснили в чем разница.

Если на ваших курсах по C++ примерно такой же формат, то толку от них, наверное, не много.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий