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