Что бы сэкономить время в последующем, а так же, что бы лучше понять в ходе обучения, крайне помогает вести конспекты и делать наглядные шпаргалки. Шпаргалку можно повесить рядом на стену. Хороши шпаргалки в виде блок-схем, по которым можно легко, по шагам, получить нужный результат (например выбрать правильный контейнер).
Под катом я решил опубликовать пару шпаргалок для определения условия когда будет создан компилятором неявный перемещающий конструктор и перемещающий оператор присваивания.
Шпаргалки представлены в виде PDF файлов для печати на принтере A4, в виде картинки PNG, а так же исходников в SVG.
Неявный перемещающий конструктор
Неявный перемещающий оператор присвания
Исходники и PDF формата A4: yadi.sk/d/s7t7uEdKAxHKq/Cheatsheets/My/C%2B%2B-move-ctor/
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 где принято хранить файлы не картинки для хабра?
ссылка на оригинал статьи http://habrahabr.ru/post/232775/
Добавить комментарий