C++ named requirements: StandardLayoutType (since C++11)
From cppreference.net
C++
C++ named requirements
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Указывает, что тип является типом стандартной компоновки. Типы стандартной компоновки полезны для взаимодействия с кодом, написанным на других языках программирования.
Примечание: стандарт не определяет именованное требование с таким названием. Это категория типов, определяемая базовым языком. Она включена сюда как именованное требование только для обеспечения единообразия.
Содержание |
Требования
Следующие типы в совокупности называются standard-layout types :
- скалярные типы
- стандартные классовые типы компоновки
- массивы таких типов
- cv-квалифицированные версии этих типов
Свойства
См. Standard-layout .
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| CWG 1672 | C++11 |
правило первого нестатического члена данных игнорировалось
наличие пустых базовых классов |
правило первого нестатического члена данных
сделано рекурсивным |
| CWG 1813 | C++11 |
класс с членом, определенным в косвенном базовом классе
технически не был стандартным макетом |
все объявления членов должны быть
в одном классе |
| CWG 2120 | C++11 |
массив как первый член не учитывался при
сравнении типа первого элемента с типом базы |
члены-массивы учитываются |
Смотрите также
|
(C++11)
|
проверяет, является ли тип
стандартным расположением
(шаблон класса) |