Пространства имён
Варианты
Действия

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

Заметки

  1. При этом тривиальные конструкторы, присваивание и деструктор должны быть определены неявно (не заданы пользователем).
  2. Простейшие типы и массивы из объектов TriviallyCopiable также TriviallyCopiable.

См. также

проверяет, можно ли тривиально скопировать тип
(шаблон класса) [править]