Namespaces
Variants

C++ named requirements: StandardLayoutType (since C++11)

From cppreference.net
C++ named requirements

Указывает, что тип является типом стандартной компоновки. Типы стандартной компоновки полезны для взаимодействия с кодом, написанным на других языках программирования.

Примечание: стандарт не определяет именованное требование с таким названием. Это категория типов, определяемая базовым языком. Она включена сюда как именованное требование только для обеспечения единообразия.

Содержание

Требования

Следующие типы в совокупности называются standard-layout types :

Свойства

См. Standard-layout .

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
CWG 1672 C++11 правило первого нестатического члена данных игнорировалось
наличие пустых базовых классов
правило первого нестатического члена данных
сделано рекурсивным
CWG 1813 C++11 класс с членом, определенным в косвенном базовом классе
технически не был стандартным макетом
все объявления членов должны быть
в одном классе
CWG 2120 C++11 массив как первый член не учитывался при
сравнении типа первого элемента с типом базы
члены-массивы учитываются

Смотрите также

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