Правило трех (C++ программирование)

Правило трех (C++ программирование)

Правило трёх (также известное как «Закон Большой Тройки» или «Большая Тройка») — правило в C++, гласящее, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода[1]:

Эти три метода являются особыми членами-функциями, автоматически создаваемые компилятором в случае отсутствия их явного объявления программистом. Если один из них должен быть определен программистом, то это означает, что версия, сгенерированная компилятором, не удовлетворит потребности класса в одном случае и, вероятно, не удовлетворит в остальных случаях.

Поправка к этому правилу заключается в том, что если используется RAII (от англ. Resource Acquisition Is Initialization), то используемый деструктор может остаться неопределённым (иногда упоминается как «Закон Большой Двойки»)[2].

Так как неявно определённые конструкторы и операторы присваивания просто копируют все члены-данные класса[3], определение явных конструкторов копирования и операторов присваивания копированием необходимо в случаях, когда класс инкапсулирует сложные структуры данных или может поддерживать эксклюзивный доступ к ресурсам.


Ссылки

  1. Bjarne Stroustrup The C++ Programming Language. — 3. — Addison-Wesley. — С. 283-4. — ISBN 978-0201700732
  2. Karlsson, Bjorn; Wilson, Matthew The Law of the Big Two. The C++ Source. Artima (2004-10-01). Проверено 22 января 2008.
  3. The C++ Programming Language. — С. 271.

Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Правило трех (C++ программирование)" в других словарях:

  • ПРОГРАММИРОВАНИЕ ТЕОРЕТИЧЕСКОЕ — математическая дисциплина, изучающая математич. абстракции программ, трактуемых как объекты, выраженные на формальном языке, обладающие определенной информационной и логич. структурой и подлежащие исполнению на автоматич. устройствах. П. т.… …   Математическая энциклопедия

  • Событийно-ориентированное программирование — Парадигмы программирования Агентно ориентированная Компонентно ориентированная Конкатенативная Декларативная (контрастирует с Императивной) Ограничениями Функциональная Потоком данных Таблично ориентированная (электронные таблицы) Реактивная …   Википедия

  • Математи́ческие ме́тоды — в медицине совокупность методов количественного изучения и анализа состояния и (или) поведения объектов и систем, относящихся к медицине и здравоохранению. В биологии, медицине и здравоохранении в круг явлений, изучаемых с помощью М.м., входят… …   Медицинская энциклопедия

  • Государственная программа — (Government program) Государственная программа это инструмент государственного регулирования экономики, обеспечивающий достижение перспективных целей Понятие государственной программы, виды государственных федеральных и муниципальных программ,… …   Энциклопедия инвестора

  • ДРАКОН — Эта статья предлагается к удалению. Пояснение причин и соответствующее обсуждение вы можете найти на странице Википедия:К удалению/28 сентября 2012. Пока процесс обсуждения не завершён, статью мож …   Википедия

  • KNX — EIB профессиональная аббревиатура от англ. European Installation Bus, что можно перевести как Европейская инсталляционная шина (шина в смысле сеть, полевая шина). EIB обозначение устаревшее, но продолжает использоваться в мире, и особенно в… …   Википедия

  • РМ 4-239-91: Системы автоматизации. Словарь-справочник по терминам. Пособие к СНиП 3.05.07-85 — Терминология РМ 4 239 91: Системы автоматизации. Словарь справочник по терминам. Пособие к СНиП 3.05.07 85: 4.2. АВТОМАТИЗАЦИЯ 1. Внедрение автоматических средств для реализации процессов СТИСО 2382/1 Определения термина из разных документов:… …   Словарь-справочник терминов нормативно-технической документации

  • Информация — (Information) Информация это сведения о чем либо Понятие и виды информации, передача и обработка, поиск и хранение информации Содержание >>>>>>>>>>>> …   Энциклопедия инвестора

  • Доход — (Income) Понятие доходов, виды доходов, доходы организации Информация о понятии доходов, виды доходов, доходы организации, налоговые доходы Содержание Содержание Что такое Реальные Национальный профит Виды выгоды Реальный профит Номинальный… …   Энциклопедия инвестора

  • Прогноз — (Forecast) Определение прогноза, задачи и принципы прогнозирования Определение прогноза, задачи и принципы прогнозирования, методы прогнозирования Содержание Содержание Определение Основные понятия прогностики Задачи и принципы прогнозирования… …   Энциклопедия инвестора


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»