cpp/concept/TriviallyCopyable: различия между версиями
Материал из cppreference.com
Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
{{cpp/concept/title|TriviallyCopyable}} | {{cpp/concept/title|TriviallyCopyable}} | ||
{{cpp/concept/navbar}} | {{cpp/concept/navbar}} | ||
===Требования=== | ===Требования=== | ||
Версия от 11:30, 31 мая 2017
Тривиально-копируемый тип — это тип данных, который копируется простым копированием области памяти без разбора, что внутри.
В C++03 было понятие PlainOldData («простые тупые данные»), в C++11 эту концепцию разделили на несколько, одна из который — тривиально-копируемый тип.
Требования
- Тривиальный конструктор копирования
T(const T&) - Тривиальный конструктор перемещения
T(T&&) - Тривиальная операция «присвоить»
T& operator = (const T&) - Тривиальная операция «присвоить с перемещением»
T& operator = (T&&) - Тривиальный деструктор
- Без виртуальных функций, виртуального наследования
- Все нестатические поля и базовые классы тоже TriviallyCopyable
Заметки
- При этом тривиальные конструкторы, присваивание и деструктор должны быть определены неявно (не заданы пользователем).
- Простейшие типы и массивы из объектов TriviallyCopiable также TriviallyCopiable.
См. также
(C++11) |
проверяет, можно ли тривиально скопировать тип (шаблон класса) |