C++ lectures at MIPT (in Russian). Lecture 19. Ranges, part 1

  Рет қаралды 2,904

Konstantin Vladimirov

Konstantin Vladimirov

Күн бұрын

Пікірлер: 18
@tilir
@tilir 2 жыл бұрын
С годами я делаю эту лекцию лучше: kzbin.info/www/bejne/hHLalmaYe5eiaNU
@DrUlrih
@DrUlrih 3 жыл бұрын
Шикарно
@niklkelbon3662
@niklkelbon3662 3 жыл бұрын
47:30 проблема решается ну очень просто, возвращать conditional type в случае если принимаем по rvalue диапазон, то значит нет никакого смысла возвращать итератор(возвращаем void), если по lvalue приняли диапазон, возвращаем итератор на ласт элемент. В итоге ошибка компиляции при попытке auto m = ranges::...
@oficsu
@oficsu 4 жыл бұрын
Раз уж на 27:01 решено подправить concept bool на concept в соответствии с актуальным состоянием стандарта, наверное, и все концепты стоило переименовать в lowercase, ибо все концепты стандартной библиотеки перед принятием стандарта, успели переименовать в stdandard_case
@tilir
@tilir 4 жыл бұрын
Как раз наоборот, пользовательские концепты лучше называть с большой, чтобы не путать со стандартными
@oficsu
@oficsu 4 жыл бұрын
@@tilir, всё же, на слайде отображено формальное объявление ranges::sort, я полагал, что под ним имеется ввиду именно стандартный ranges::sort со стандартными концептами, включая std::ranges::R̶range, а не пользователькими
@ВячеславШляга
@ВячеславШляга 2 жыл бұрын
1:04:31 наверное имелся ввиду всё-таки 11 стандарт, а не 98))
@tilir
@tilir 2 жыл бұрын
Да в 2011-м явно оговорка.
@victormustya1745
@victormustya1745 4 жыл бұрын
Это какой-то хаскель, прости г-споди. Кроме того, эта вещь на мой взгляд криво перегружает оператор | --- у него исчезает свойство коммутативности.
@kostikvl
@kostikvl 4 жыл бұрын
Не Хаскелл, а Руби же. Насчёт унарного или -- это всё равно что упрекнуть перегрузку битовых сдвигов для потоков в отсутствии ассоциативности =)) Ясно что если мы НАСТОЛЬКО меняем смысл операции, это уже просто другая операция.
@victormustya1745
@victormustya1745 4 жыл бұрын
@@kostikvl, в руби нет бесконечных диапазонов, насколько мне известно. Да и у оператора битового сдвига нет ассоциативности, то есть a >> (b >> c) != (a >> b) >> c даже без перегрузки.
@victormustya1745
@victormustya1745 4 жыл бұрын
@@kostikvl, к тому же, в руби нет ленивых вычислений. Так что на хаскель больше похоже.
@MrSnarpix
@MrSnarpix 4 жыл бұрын
Ты так говоришь, будто это плохо. Круто было бы еще Automated Theorem Proving внести, жаль Idris все еще в начальной стадии.
@victormustya1745
@victormustya1745 4 жыл бұрын
@@MrSnarpix, а ты так говоришь, будто это хорошо. Не, идея range с ленивыми вычислениями мне нравится. Но вот перегрузка операторов всё портит. А вообще, надо придумать какой-нибудь чекер, который не позволял бы коммитить в проекты код, который использует концепты, корутины и ренджи.
C++ lectures at MIPT (in Russian). Lecture 19. Ranges, part 2
54:38
Konstantin Vladimirov
Рет қаралды 1,5 М.
C++ lectures at MIPT (in Russian). Lecture 8. Lambdas, part 1
1:15:55
Konstantin Vladimirov
Рет қаралды 3,8 М.
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 108 МЛН
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 18 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 19 МЛН
Базовый курс C++ (MIPT, ILab). Lecture 6. Приведение типов
1:19:05
C++ Standard Views - Nico Josuttis - ACCU 2023
1:36:08
ACCU Conference
Рет қаралды 8 М.
Павел Новиков - Учимся готовить C++ корутины на практике
1:13:12
Конференция по разработке на C++
Рет қаралды 10 М.
ты C++ РАЗРАБОТЧИК?) ага
12:04
Winderton
Рет қаралды 247 М.
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19