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

Пополняем шпаргалки по C++: неявно-генерируемые перемещающий конструктор и оператор присваивания

Время на прочтение2 мин
Количество просмотров25K
Когда не так часто, как хотелось бы, приходится работать с языком, некоторые аспекты забываются. А некоторые никогда и не откладываются в голове. Поэтому, когда возникают вопросы, приходится отвлекаться и лезть в документацию.

Чтобы сэкономить время в последующем, а также, чтобы лучше понять в ходе обучения, крайне помогает вести конспекты и делать наглядные шпаргалки. Шпаргалку можно повесить рядом на стену. Хороши шпаргалки в виде блок-схем, по которым можно легко, по шагам, получить нужный результат (например выбрать правильный контейнер).

Под катом я решил опубликовать пару шпаргалок для определения условия когда будет создан компилятором неявно-генерируемый перемещающий конструктор и перемещающий оператор присваивания.



Шпаргалки представлены в виде PDF файлов для печати на принтере A4, в виде картинки PNG, а также исходников в SVG.

Неявно-генерируемый перемещающий конструктор




Неявно-генерируемый перемещающий оператор присваивания



Исходники и PDF формата A4: yadi.sk/d/s7t7uEdKAxHKq/Cheatsheets/My/C%2B%2B-move-ctor

TriviallyCopyable концепт
TriviallyCopyable концепт


На диаграммах есть отсылки к тривиальности конструкторов и т.п. Используя en.cppreference.com/w/cpp/concept/TriviallyCopyable составил карту памяти:


Исходники и PDF: yadi.sk/d/s7t7uEdKAxHKq/Cheatsheets/My/C%2B%2B-move-ctor/Concepts


Вот и всё, жду замечаний. Если кому-то пригодится, не забывайте выражать свои эмоции в комментариях.

Используемые материалы:
en.cppreference.com/w/cpp/language/move_operator
en.cppreference.com/w/cpp/language/move_constructor
en.cppreference.com/w/cpp/language/copy_constructor
en.cppreference.com/w/cpp/language/as_operator
en.cppreference.com/w/cpp/language/destructor
en.cppreference.com/w/cpp/concept/TriviallyCopyable

PS где принято хранить файлы (не картинки) для хабра?
Теги:
Хабы:
Всего голосов 31: ↑28 и ↓3+25
Комментарии19

Публикации

Истории

Работа

QT разработчик
10 вакансий
Программист C++
112 вакансий

Ближайшие события

One day offer от ВСК
Дата16 – 17 мая
Время09:00 – 18:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Антиконференция X5 Future Night
Дата30 мая
Время11:00 – 23:00
Место
Онлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область