The One Definition Rule (ODR) is an important rule of the C++ programming language that prescribes that classes/structs and non-inline functions cannot have more than one definition in the entire program and template and types cannot have more than one definition by translation unit. It is defined in the ISO C++ Standard (ISO/IEC 14882) 2003, at section 3.2.
Attributes | Values |
---|
rdfs:label
| - One Definition Rule (en)
- Правило одного определения (ru)
- Правило одного визначення (uk)
|
rdfs:comment
| - The One Definition Rule (ODR) is an important rule of the C++ programming language that prescribes that classes/structs and non-inline functions cannot have more than one definition in the entire program and template and types cannot have more than one definition by translation unit. It is defined in the ISO C++ Standard (ISO/IEC 14882) 2003, at section 3.2. (en)
- Правило одного определения (One Definition Rule, ODR) — один из основных принципов языка программирования C++. Назначение ODR состоит в том, чтобы в программе не могло появиться два или более конфликтующих между собой определения одной и той же сущности (типа данных, переменной, функции, объекта, шаблона). Если это правило соблюдено, программа ведёт себя так, как будто в ней существует только одно, общее определение любой сущности. Нарушение ODR, если оно не будет обнаружено при компиляции и сборке проекта, приводит к непредсказуемому поведению программы. (ru)
- Правило одного визначення (One Definition Rule, ODR) — важлива конценція в мові програмування C++, що визначена в ISO C++ Standard(ISO/IEC 14882) 2003, в розділі 3.2. Коротко ODR стверджує: 1.
* В окремій одиниці трансляції (файлі, якщо конкретна реалізація зберігає тексти програм в файлах, після обробки препроцесором) шаблон, клас, функція, об'єкт, або перерахування можуть мати не більше одного визначення. Хоча деякі можуть мати яку завгодно кількість оголошень. 2.
* В програмі об'єкт або не не можуть мати більш ніж одне визначення. Якщо об'єкт чи непідставна функція не використовуються, тоді достатньо оголошення без визначення. У випадку використання вони повинні мати рівно одне визначення. 3.
* Деякі сутності, наприклад, класи, шаблони або підставні функції можуть мати більше ніж (uk)
|
dct:subject
| |
Wikipage page ID
| |
Wikipage revision ID
| |
Link from a Wikipage to another Wikipage
| |
sameAs
| |
dbp:wikiPageUsesTemplate
| |
has abstract
| - The One Definition Rule (ODR) is an important rule of the C++ programming language that prescribes that classes/structs and non-inline functions cannot have more than one definition in the entire program and template and types cannot have more than one definition by translation unit. It is defined in the ISO C++ Standard (ISO/IEC 14882) 2003, at section 3.2. (en)
- Правило одного определения (One Definition Rule, ODR) — один из основных принципов языка программирования C++. Назначение ODR состоит в том, чтобы в программе не могло появиться два или более конфликтующих между собой определения одной и той же сущности (типа данных, переменной, функции, объекта, шаблона). Если это правило соблюдено, программа ведёт себя так, как будто в ней существует только одно, общее определение любой сущности. Нарушение ODR, если оно не будет обнаружено при компиляции и сборке проекта, приводит к непредсказуемому поведению программы. (ru)
- Правило одного визначення (One Definition Rule, ODR) — важлива конценція в мові програмування C++, що визначена в ISO C++ Standard(ISO/IEC 14882) 2003, в розділі 3.2. Коротко ODR стверджує: 1.
* В окремій одиниці трансляції (файлі, якщо конкретна реалізація зберігає тексти програм в файлах, після обробки препроцесором) шаблон, клас, функція, об'єкт, або перерахування можуть мати не більше одного визначення. Хоча деякі можуть мати яку завгодно кількість оголошень. 2.
* В програмі об'єкт або не не можуть мати більш ніж одне визначення. Якщо об'єкт чи непідставна функція не використовуються, тоді достатньо оголошення без визначення. У випадку використання вони повинні мати рівно одне визначення. 3.
* Деякі сутності, наприклад, класи, шаблони або підставні функції можуть мати більше ніж одне визначення тільки якщо: 4. 1.
* вони знаходяться в різних одиницях трансляції; 5. 2.
* вони ідентичні лексема за лексемою; 6. 3.
* значення лексем однаково в обох одиницях трансляції; Компілятори не завжди знаходять порушення ODR. Багато з них виявляються вже компонувальником. (uk)
|
gold:hypernym
| |
prov:wasDerivedFrom
| |
page length (characters) of wiki page
| |
foaf:isPrimaryTopicOf
| |
is Link from a Wikipage to another Wikipage
of | |
is Wikipage redirect
of | |
is Wikipage disambiguates
of | |
is foaf:primaryTopic
of | |