An Entity of Type: Australian rules football player, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

The rule of three and rule of five are rules of thumb in C++ for the building of exception-safe code and for formalizing rules on resource management. The rules prescribe how the default members of a class should be used to achieve these goals systematically.

Property Value
dbo:abstract
  • Die Dreierregel (vor C++11) bzw. Fünferregel (ab C++11) (englisch Rule of three bzw. Rule of five) bezeichnet in der Programmiersprache C++ eine Empfehlung, die besagt, dass in einer Klasse, die eine der folgenden drei bzw. fünf Elementfunktionen definiert, auch die jeweils anderen beiden bzw. vier definiert werden sollten: 1. * Destruktor 2. * Copy-Konstruktor 3. * Copy-Zuweisungsoperator 4. * 5. * Die Regel ist verpflichtender Bestandteil gängiger Konventionen wie z. B. oder AUTOSAR. (de)
  • The rule of three and rule of five are rules of thumb in C++ for the building of exception-safe code and for formalizing rules on resource management. The rules prescribe how the default members of a class should be used to achieve these goals systematically. (en)
  • La regola del tre è una regola empirica di programmazione in C++ per l'implementazione dei metodi predefiniti di una classe destinata alla gestione di risorse. Formulata originariamente da Marshall Cline nel 1991, afferma che se la classe definisce esplicitamente almeno uno tra distruttore, e operatore di assegnamento, allora tutti e tre i metodi devono essere definiti esplicitamente. C++11 introduce la semantica di movimento, tramite la quale un oggetto può appropriarsi delle risorse di oggetti temporanei, motivo per il quale la regola del tre viene estesa a regola del cinque con l'aggiunta del (move constructor) e dell' (move assignment operator). (it)
  • A regra dos três e a regra dos cinco são regras práticas em C++ para a construção de código seguro contra exceções e para formalizar a gestão de recursos. Isso é feito pela prescrição de como os membros padrões de uma classe devem ser usados para realizar esta tarefa de forma sistemática. (pt)
  • Правило трёх (также известное как «Закон Большой Тройки» или «Большая Тройка») — правило в C++, гласящее, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода: * Деструктор * Конструктор копирования * Оператор присваивания копированием Эти три метода являются , автоматически создаваемыми компилятором в случае отсутствия их явного объявления программистом. Если один из них должен быть определен программистом, то это означает, что версия, сгенерированная компилятором, не удовлетворяет потребностям класса в одном случае и, вероятно, не удовлетворит в остальных случаях. Поправка к этому правилу заключается в том, что если используется RAII (от англ. Resource Acquisition Is Initialization), то используемый деструктор может остаться неопределённым (иногда упоминается как «Закон Большой Двойки»). Так как неявно определённые конструкторы и операторы присваивания просто копируют все члены-данные класса, определение явных конструкторов копирования и операторов присваивания копированием необходимо в случаях, когда класс инкапсулирует сложные структуры данных или может поддерживать эксклюзивный доступ к ресурсам. А также в случаях, когда класс содержит константные данные или ссылки. (ru)
  • 三法則(英語:Rule of Three)以及五法則在C++裡,它是一個以設計的基本原則而制定的定律。 (zh)
  • Правило трьох («Закон великої трійки», «Велика трійка») — практичне правило в C++, яке каже, що якщо в класі визначений один з таких методів, то, найпевніше, в ньому мають бути визначені всі три: * Деструктор (англ. destructor) * Конструктор копіювання (англ. copy constructor) * Оператор присвоєння копіюванням (англ. copy assignment operator) Ці три , можуть автоматично створюватися компілятором у випадку, якщо програміст не визначив їх явно (насправді, це не завжди так, наприклад, якщо один з атрибутів класу константа і, таким чином, вимагає явної ініціалізації). Якщо один з них має бути визначений програмістом, значить версія створена компілятором не підходить, а це означає, що, найпевніше, версії компілятора не підійдуть і для двох інших функцій. Правда, у випадку якщо використовується техніка «виділення ресурсу є ініціалізація» можна покластися на версію деструктора від компілятора (іноді згадують як «Закон великої двійки»). Через те, що неявно згенеровані конструктори і оператори надання значення просто копіюють всі члени даних класу визначення явних конструкторів копіювання і операторів присвоювання необхідно у випадках, коли клас інкапсулює складні структури даних або має зовнішні посилання такі як вказівники, що означає можливість копіювання лише самого вказівника, а не об'єкта на який він вказує. (uk)
dbo:wikiPageID
  • 8715728 (xsd:integer)
dbo:wikiPageLength
  • 6199 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1122041676 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • Die Dreierregel (vor C++11) bzw. Fünferregel (ab C++11) (englisch Rule of three bzw. Rule of five) bezeichnet in der Programmiersprache C++ eine Empfehlung, die besagt, dass in einer Klasse, die eine der folgenden drei bzw. fünf Elementfunktionen definiert, auch die jeweils anderen beiden bzw. vier definiert werden sollten: 1. * Destruktor 2. * Copy-Konstruktor 3. * Copy-Zuweisungsoperator 4. * 5. * Die Regel ist verpflichtender Bestandteil gängiger Konventionen wie z. B. oder AUTOSAR. (de)
  • The rule of three and rule of five are rules of thumb in C++ for the building of exception-safe code and for formalizing rules on resource management. The rules prescribe how the default members of a class should be used to achieve these goals systematically. (en)
  • A regra dos três e a regra dos cinco são regras práticas em C++ para a construção de código seguro contra exceções e para formalizar a gestão de recursos. Isso é feito pela prescrição de como os membros padrões de uma classe devem ser usados para realizar esta tarefa de forma sistemática. (pt)
  • 三法則(英語:Rule of Three)以及五法則在C++裡,它是一個以設計的基本原則而制定的定律。 (zh)
  • La regola del tre è una regola empirica di programmazione in C++ per l'implementazione dei metodi predefiniti di una classe destinata alla gestione di risorse. Formulata originariamente da Marshall Cline nel 1991, afferma che se la classe definisce esplicitamente almeno uno tra distruttore, e operatore di assegnamento, allora tutti e tre i metodi devono essere definiti esplicitamente. (it)
  • Правило трёх (также известное как «Закон Большой Тройки» или «Большая Тройка») — правило в C++, гласящее, что если класс или структура определяет один из следующих методов, то они должны явным образом определить все три метода: * Деструктор * Конструктор копирования * Оператор присваивания копированием Поправка к этому правилу заключается в том, что если используется RAII (от англ. Resource Acquisition Is Initialization), то используемый деструктор может остаться неопределённым (иногда упоминается как «Закон Большой Двойки»). (ru)
  • Правило трьох («Закон великої трійки», «Велика трійка») — практичне правило в C++, яке каже, що якщо в класі визначений один з таких методів, то, найпевніше, в ньому мають бути визначені всі три: * Деструктор (англ. destructor) * Конструктор копіювання (англ. copy constructor) * Оператор присвоєння копіюванням (англ. copy assignment operator) Правда, у випадку якщо використовується техніка «виділення ресурсу є ініціалізація» можна покластися на версію деструктора від компілятора (іноді згадують як «Закон великої двійки»). (uk)
rdfs:label
  • Dreierregel (C++) (de)
  • Regola del tre (C++) (it)
  • Rule of three (C++ programming) (en)
  • Regra dos três (C++) (pt)
  • Правило трёх (C++) (ru)
  • Правило трьох (C++) (uk)
  • 三法則 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License