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

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

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. Немного обидно за авторов нововведений
@MrDimonsky
@MrDimonsky 2 жыл бұрын
32:30 std::get(t) не передан параметр t
@PVSStudioTool
@PVSStudioTool 2 жыл бұрын
Да, пропустили этот момент на слайде. Спасибо что увидели и написали об этом)
@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 Понял. Спасибо. Иногда возникает желание освежить в памяти стандарты и лекцию. Спасибо за Ваш труд 😃👍
@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 4 жыл бұрын
Главная задача этих функций не оптимизация аллокаций памяти, а возможность сделать создание умных указателей безопаснее с точки зрения исключений.
Лекция 3. Вывод типов в C++
53:36
PVS-Studio Ru
Рет қаралды 6 М.
Лекция 4. Нововведения стандарта С++17
1:35:23
If people acted like cats 🙀😹 LeoNata family #shorts
00:22
LeoNata Family
Рет қаралды 43 МЛН
Лекция 1.  Нововведения стандарта C++11
1:58:15
Основы семантики перемещения в с++
18:14
Полевой Дмитрий
Рет қаралды 4,6 М.
How I wrote online shooter on C++ in a week
25:31
Vectozavr
Рет қаралды 1 МЛН