Присоединяюсь. Каждый раз удивляюсь, сколько всего надо доучивать в плюсах. Время почитать статьи Спасибо за видео
@BorisSergeevich14 күн бұрын
Я бы добавил, что это не работает для компилятора MinGW. Там по какой-то причине не дописана смена локали.
@misana7716 күн бұрын
1) почему размеры матрицы - знаковые числа? 2) зачем писать noexcept(false) везде? 3) Вы сразу на С++23 пишете, поэтому у вас есть возможность определять operator[] для нескольких аргументов? 4) если ответ на предыдущий вопрос да, то зачем использовать классические алгоритмы, если есть более удобные range алгоритмы? 5) И зачем вообще использовать более вербозный алгоритм "std::for_each", если есть range based for?
@dyzzet16 күн бұрын
1. Беззнаковая арифметика может приводить к неожиданным результатам, смешанная (знаковая и беззнаковая) - тем более. Индексы в ядре языка - со знаком, в библиотеке - без знака. Тот факт, что в C++20 появилась функция std::ssize(), говорит о небольшом дрейфе библиотеки в сторону арифметики со знаком. * ES.106: Don’t try to avoid negative values by using unsigned isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es106-dont-try-to-avoid-negative-values-by-using-unsigned * CppCon 2016: Jon Kalb “unsigned: A Guideline for Better Code" kzread.info/dash/bejne/qaqoqKmaZruwdLg.html 2. Дело вкуса, академический приём. Технически, конечно, нет разницы, писать noexcept(false) или не писать ничего. 3. Да, C++23. В следующем ролике я пишу вариант с прокси-классом для компиляторов, которые не поддерживают multidimensional subscript operator. kzread.info/dash/bejne/lK6YzKSEhLuee9o.html 4. Не всё сразу. И вместо стандартных диапазонов хочется использовать Range-v3, а это слишком много за раз. На канале ещё будут диапазоны. 5. Конкретно здесь std::for_each, может, для единообразия. Вообще он хорош тем, что с C++17 поддерживает execution policy. en.cppreference.com/w/cpp/algorithm/execution_policy_tag
@MigelMora3022 күн бұрын
Очень интересно!
@Mr.Freemen_GАй бұрын
Автору спасибо! А случайно автор, не занимается менторством или помощью в изучении c++ ?
@user-pb5jd7fx9uАй бұрын
Балдёжный котик
@UffO_oАй бұрын
ЭтьенЛеопольдРэксБуржуа-пренаивеликолепнейший просто восхитителен!
@ssoldanooАй бұрын
Рад что нашел такой отличный канал
@user-zd5wq4hd2gАй бұрын
Кот крутится - код мутится
@DimaTiunovАй бұрын
Немного спагетти кола с ифами, а так прекол
@Andrew_Petrovich_ZykovАй бұрын
за кота лайк
@Andrew_Petrovich_ZykovАй бұрын
за кота лайк
@lpi3Ай бұрын
Уау! Умножение при извлечении елемента! Умно!
@lospolos1802Ай бұрын
Чё злой какой 🤬
@jameslayng2433Ай бұрын
Поставьте пожалуйста 5 за оаип, иначе меня отчислят 😢
@JS_HTML_MANАй бұрын
Кот красавец))
@Saner_reepАй бұрын
Комару
@user-qt1ye7yu3eАй бұрын
Котик топ) няшка прям
@ssoldanoo2 ай бұрын
Хочу быть Вашей клавиатурой
@dyzzet2 ай бұрын
Выбираем в комментариях цвет клавиатуры для следующего выпуска!
@reviobandela2942 ай бұрын
@@dyzzetрозовый!!
@UffO_o2 ай бұрын
Розовый, пожалуйста)
@reviobandela2942 ай бұрын
Теперь я захотел стать компилятором😊
@UffO_o2 ай бұрын
Хочу быть Вашим котом
@timur28872 ай бұрын
Уважаю С++, хотя выглядит по современным меркам он страшновато)
@Andrew_Petrovich_ZykovАй бұрын
по каким современным меркам?
@timur2887Ай бұрын
@@Andrew_Petrovich_Zykov сравнивая синтаксис с гламурными сишарпом, питоном, джавой, например) но дедушка сиплюсы велик, его заслуг не отнять)
@mykolashevchenko1442 ай бұрын
Почему вы используете "{ }" вместо "=" для инициализации значения?
@dyzzet2 ай бұрын
Список инициализации не допускает сужения типа. Такой код не должен компилироваться: uint32_t a{ 1000 }; uint8_t b{ a }; Хотя GCC только выдаёт предупреждение: narrowing conversion of ‘a’ from ‘uint32_t’ {aka ‘unsigned int’} to ‘uint8_t’ {aka ‘unsigned char’} [-Wnarrowing]. И нулевое значение по умолчанию - тоже небольшое, но удобство.
@1me-2 ай бұрын
Легенда. Тема не из простых, спасибо за разбор!!! ;;;
Пікірлер
Присоединяюсь. Каждый раз удивляюсь, сколько всего надо доучивать в плюсах. Время почитать статьи Спасибо за видео
Я бы добавил, что это не работает для компилятора MinGW. Там по какой-то причине не дописана смена локали.
1) почему размеры матрицы - знаковые числа? 2) зачем писать noexcept(false) везде? 3) Вы сразу на С++23 пишете, поэтому у вас есть возможность определять operator[] для нескольких аргументов? 4) если ответ на предыдущий вопрос да, то зачем использовать классические алгоритмы, если есть более удобные range алгоритмы? 5) И зачем вообще использовать более вербозный алгоритм "std::for_each", если есть range based for?
1. Беззнаковая арифметика может приводить к неожиданным результатам, смешанная (знаковая и беззнаковая) - тем более. Индексы в ядре языка - со знаком, в библиотеке - без знака. Тот факт, что в C++20 появилась функция std::ssize(), говорит о небольшом дрейфе библиотеки в сторону арифметики со знаком. * ES.106: Don’t try to avoid negative values by using unsigned isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#es106-dont-try-to-avoid-negative-values-by-using-unsigned * CppCon 2016: Jon Kalb “unsigned: A Guideline for Better Code" kzread.info/dash/bejne/qaqoqKmaZruwdLg.html 2. Дело вкуса, академический приём. Технически, конечно, нет разницы, писать noexcept(false) или не писать ничего. 3. Да, C++23. В следующем ролике я пишу вариант с прокси-классом для компиляторов, которые не поддерживают multidimensional subscript operator. kzread.info/dash/bejne/lK6YzKSEhLuee9o.html 4. Не всё сразу. И вместо стандартных диапазонов хочется использовать Range-v3, а это слишком много за раз. На канале ещё будут диапазоны. 5. Конкретно здесь std::for_each, может, для единообразия. Вообще он хорош тем, что с C++17 поддерживает execution policy. en.cppreference.com/w/cpp/algorithm/execution_policy_tag
Очень интересно!
Автору спасибо! А случайно автор, не занимается менторством или помощью в изучении c++ ?
Балдёжный котик
ЭтьенЛеопольдРэксБуржуа-пренаивеликолепнейший просто восхитителен!
Рад что нашел такой отличный канал
Кот крутится - код мутится
Немного спагетти кола с ифами, а так прекол
за кота лайк
за кота лайк
Уау! Умножение при извлечении елемента! Умно!
Чё злой какой 🤬
Поставьте пожалуйста 5 за оаип, иначе меня отчислят 😢
Кот красавец))
Комару
Котик топ) няшка прям
Хочу быть Вашей клавиатурой
Выбираем в комментариях цвет клавиатуры для следующего выпуска!
@@dyzzetрозовый!!
Розовый, пожалуйста)
Теперь я захотел стать компилятором😊
Хочу быть Вашим котом
Уважаю С++, хотя выглядит по современным меркам он страшновато)
по каким современным меркам?
@@Andrew_Petrovich_Zykov сравнивая синтаксис с гламурными сишарпом, питоном, джавой, например) но дедушка сиплюсы велик, его заслуг не отнять)
Почему вы используете "{ }" вместо "=" для инициализации значения?
Список инициализации не допускает сужения типа. Такой код не должен компилироваться: uint32_t a{ 1000 }; uint8_t b{ a }; Хотя GCC только выдаёт предупреждение: narrowing conversion of ‘a’ from ‘uint32_t’ {aka ‘unsigned int’} to ‘uint8_t’ {aka ‘unsigned char’} [-Wnarrowing]. И нулевое значение по умолчанию - тоже небольшое, но удобство.
Легенда. Тема не из простых, спасибо за разбор!!! ;;;