Tap to unmute

Лекция 2. Нововведения стандарта C++14

  Рет қаралды 9,135

PVS-Studio Ru

PVS-Studio Ru

Күн бұрын

Пікірлер: 12
@0imax
@0imax 2 жыл бұрын
13:40 с незапамятных времён в C (под winavr) писал битовые маски через 0b и даже не задумывался, что это, оказывается, расширение языка. Но ещё бОльшим удивлением стало то, что в плюсах такая простая вещь появилась относительно недавно))
@idiotsiuda
@idiotsiuda 3 жыл бұрын
22:54 другие компиляторы в итоге научились?
@DadundddaD
@DadundddaD Жыл бұрын
2014: мы выпустили новый стандарт: пользуйтесь, радуйтесь Спустя 6 лет: P.S. Немного обидно за авторов нововведений
@KIR_Engineer
@KIR_Engineer 3 жыл бұрын
Отличная лекция. Можете залить, пожалуйста, презентацию на гугл или яндекс диск? Нету странички в ВК, не могу скачать.
@KIR_Engineer
@KIR_Engineer 3 жыл бұрын
Теперь удалось скачать. Спасибо большое. 😃👍
@PVSStudioTool
@PVSStudioTool 3 жыл бұрын
@@KIR_Engineer Обратите внимание, что тут с 85 слайда начинается вторая лекция :) vk.com/doc-163428578_519103873
@KIR_Engineer
@KIR_Engineer 3 жыл бұрын
@@PVSStudioTool Понял. Спасибо. Иногда возникает желание освежить в памяти стандарты и лекцию. Спасибо за Ваш труд 😃👍
@MrDimonsky
@MrDimonsky 2 жыл бұрын
32:30 std::get(t) не передан параметр t
@PVSStudioTool
@PVSStudioTool 2 жыл бұрын
Да, пропустили этот момент на слайде. Спасибо что увидели и написали об этом)
@2b1aa1
@2b1aa1 5 жыл бұрын
make_shared понятно алокация для счётчика ссылок, а make_unique а что алоцируется в unique?
@PVSStudioTool
@PVSStudioTool 5 жыл бұрын
make_unique динамически аллоцирует объект типа T, идеально передавая список параметров в конструктор T, и сразу оборачивает указатель в std::unique_ptr. Польза заключается в следующих вещах: 1) теперь можно забыть об использовании new-delete в свежем коде. make_unique не требует написания new, а умный указатель освободит ресурсы, вызвав delete (или кастомный deleter). 2) make_unique безопасен для создания временных умных указателей в случае бросания исключений. Рассмотрим следующий код: foo(unique_ptr(new T()), unique_ptr(new U())); Порядок вычисления аргументов в С++ является неуточненным поведением (unspecified behavior). Порядок может быть таким: new T -> unique_ptr -> new U -> unique_ptr. А может быть и таким: new T -> new U -> unique_ptr -> unique_ptr. Во втором случае, если при аллокации U будет брошено исключение, то остается неосвобожденный ресурс T. make_uniqueрешает эту проблему: foo(make_unique(), make_unique()); Если какая-либо динамическая аллокация бросит исключение, то теперь умный указатель освободит ресурс.
@eugenesasin2757
@eugenesasin2757 5 жыл бұрын
Главная задача этих функций не оптимизация аллокаций памяти, а возможность сделать создание умных указателей безопаснее с точки зрения исключений.
Лекция 3. Вывод типов в C++
53:36
PVS-Studio Ru
Рет қаралды 6 М.
Лекция 1.  Нововведения стандарта C++11
1:58:15
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
1% vs 100% #beatbox #tiktok
01:10
BeatboxJCOP
Рет қаралды 67 МЛН
Дмитрий Кожевников - Модули в С++20 - правда или вымысел?
58:52
C++ Russia — Конференция по разработке на Cpp
Рет қаралды 6 М.
Лекция 4. Нововведения стандарта С++17
1:35:23
Михаил Матросов - Спецификаторы, квалификаторы и шаблоны
58:55
C++ Russia — Конференция по разработке на Cpp
Рет қаралды 15 М.
Лекция 9. Метапрограммирование в С++
1:39:44
Мен атып көрмегенмін ! | Qalam | 5 серия
25:41