Тип не-POD должен быть задан как класс
Тип не-POD должен быть задан как класс.
POD (Простые Данные) типом можно обменяться с кодом С в его двоичной форме и можно безопасно скопировать при помощи std::memcpy
функция. Скалярные типы, структуры C-стиля и объединения и массивы этих типов являются всеми примерами типов POD. Однако язык C++ также позволяет вам создавать структуры и объединения, которые являются типами не-POD. Такие структуры и объединения могут предоставить пользовательски заданным конструкторам, иметь нестатические элементы данных с управлением частным или защищенным доступом, иметь интерфейс и реализовать инвариант.
Разработчик программного обеспечения обычно ожидает, что объектно-ориентированные концепции, такие как инкапсуляция будут реализованы при помощи классов. Кроме того, спецификатор класса обеспечивает тип, чтобы предоставить частное управление доступом всем его членам по умолчанию и подходит естественно для реализации инкапсулированных типов. Так, чтобы создать легко читаемый и удобный в сопровождении код, задайте тип не-POD как класс вместо структуры или объединения.
Средство проверки отмечает структуру, или объединение в вашем коде не является типом POD. Это включает структуры и объединения, которые инстанцируют при помощи шаблонов.
Для упрощенного объяснения типа POD на языке C++ смотрите предыдущий раздел. Для полной спецификации типа POD см. справочник C++.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: управление доступом члена |
Категория: консультация, автоматизированная |