René's URL Explorer Experiment


Title: Definitions and ODR (One Definition Rule) - cppreference.com

Generator: MediaWiki 1.43.8

direct link

Domain: en.cppreference.com

format-detectiontelephone=no

Links:

cppreference.comhttps://en.cppreference.com/
Create accounthttps://en.cppreference.com/index.php?title=Special:CreateAccount&returnto=cpp%2Flanguage%2Fdefinition
Log inhttps://en.cppreference.com/index.php?title=Special:UserLogin&returnto=cpp%2Flanguage%2Fdefinition
Pagehttps://en.cppreference.com/cpp/language/definition
Discussionhttps://en.cppreference.com/Talk:cpp/language/definition
https://en.cppreference.com/cpp/language/definition
Readhttps://en.cppreference.com/cpp/language/definition
View sourcehttps://en.cppreference.com/index.php?title=cpp/language/definition&action=edit
View historyhttps://en.cppreference.com/index.php?title=cpp/language/definition&action=history
https://en.cppreference.com/cpp/language/definition
cpphttps://en.cppreference.com/cpp
languagehttps://en.cppreference.com/cpp/language
C++https://en.cppreference.com/cpp
Compiler supporthttps://en.cppreference.com/cpp/compiler_support
Freestanding and hostedhttps://en.cppreference.com/cpp/freestanding
Languagehttps://en.cppreference.com/cpp/language
Standard libraryhttps://en.cppreference.com/cpp/standard_library
Standard library headershttps://en.cppreference.com/cpp/header
Named requirementshttps://en.cppreference.com/cpp/named_req
Feature test macroshttps://en.cppreference.com/cpp/feature_test
Language support libraryhttps://en.cppreference.com/cpp/utility#Language_support
Concepts libraryhttps://en.cppreference.com/cpp/concepts
Diagnostics libraryhttps://en.cppreference.com/cpp/error
Memory management libraryhttps://en.cppreference.com/cpp/memory
Metaprogramming libraryhttps://en.cppreference.com/cpp/meta
General utilities libraryhttps://en.cppreference.com/cpp/utility
Containers libraryhttps://en.cppreference.com/cpp/container
Iterators libraryhttps://en.cppreference.com/cpp/iterator
Ranges libraryhttps://en.cppreference.com/cpp/ranges
Algorithms libraryhttps://en.cppreference.com/cpp/algorithm
Strings libraryhttps://en.cppreference.com/cpp/string
Text processing libraryhttps://en.cppreference.com/cpp/text
Numerics libraryhttps://en.cppreference.com/cpp/numeric
Date and time libraryhttps://en.cppreference.com/cpp/chrono
Input/output libraryhttps://en.cppreference.com/cpp/io
Filesystem libraryhttps://en.cppreference.com/cpp/filesystem
Concurrency support libraryhttps://en.cppreference.com/cpp/thread
Execution control libraryhttps://en.cppreference.com/cpp/execution
Technical specificationshttps://en.cppreference.com/cpp/experimental
Symbols indexhttps://en.cppreference.com/cpp/symbol_index
External librarieshttps://en.cppreference.com/cpp/links/libs
[edit]https://cppreference.com/index.php?title=Template:cpp/navbar_content&action=edit
C++ languagehttps://en.cppreference.com/cpp/language
Preprocessorhttps://en.cppreference.com/cpp/preprocessor
Commentshttps://en.cppreference.com/cpp/comment
Keywordshttps://en.cppreference.com/cpp/keyword
Escape sequenceshttps://en.cppreference.com/cpp/language/escape
Flow controlhttps://en.cppreference.com/cpp/language/statements
ifhttps://en.cppreference.com/cpp/language/if
switchhttps://en.cppreference.com/cpp/language/switch
forhttps://en.cppreference.com/cpp/language/for
range-forhttps://en.cppreference.com/cpp/language/range-for
whilehttps://en.cppreference.com/cpp/language/while
do-whilehttps://en.cppreference.com/cpp/language/do
continuehttps://en.cppreference.com/cpp/language/continue
breakhttps://en.cppreference.com/cpp/language/break
gotohttps://en.cppreference.com/cpp/language/goto
returnhttps://en.cppreference.com/cpp/language/return
Functionshttps://en.cppreference.com/cpp/language/functions
Function declarationhttps://en.cppreference.com/cpp/language/function
Lambda function expressionhttps://en.cppreference.com/cpp/language/lambda
inline specifierhttps://en.cppreference.com/cpp/language/inline
Dynamic exception specificationshttps://en.cppreference.com/cpp/language/except_spec
noexcept specifierhttps://en.cppreference.com/cpp/language/noexcept_spec
throw-expressionhttps://en.cppreference.com/cpp/language/throw
try blockhttps://en.cppreference.com/cpp/language/try
catch handlerhttps://en.cppreference.com/cpp/language/catch
Namespace declarationhttps://en.cppreference.com/cpp/language/namespace
Namespace aliaseshttps://en.cppreference.com/cpp/language/namespace_alias
Fundamental typeshttps://en.cppreference.com/cpp/language/types
Enumeration typeshttps://en.cppreference.com/cpp/language/enum
Function typeshttps://en.cppreference.com/cpp/language/function
Class/struct typeshttps://en.cppreference.com/cpp/language/class
Union typeshttps://en.cppreference.com/cpp/language/union
const/volatilehttps://en.cppreference.com/cpp/language/cv
decltypehttps://en.cppreference.com/cpp/language/decltype
autohttps://en.cppreference.com/cpp/language/auto
constexprhttps://en.cppreference.com/cpp/language/constexpr
constevalhttps://en.cppreference.com/cpp/language/consteval
constinithttps://en.cppreference.com/cpp/language/constinit
Storage duration specifiershttps://en.cppreference.com/cpp/language/storage_duration
Initializationhttps://en.cppreference.com/cpp/language/initialization
Default-initializationhttps://en.cppreference.com/cpp/language/default_initialization
Value-initializationhttps://en.cppreference.com/cpp/language/value_initialization
Zero-initializationhttps://en.cppreference.com/cpp/language/zero_initialization
Copy-initializationhttps://en.cppreference.com/cpp/language/copy_initialization
Direct-initializationhttps://en.cppreference.com/cpp/language/direct_initialization
Aggregate initializationhttps://en.cppreference.com/cpp/language/aggregate_initialization
List-initializationhttps://en.cppreference.com/cpp/language/list_initialization
Constant initializationhttps://en.cppreference.com/cpp/language/constant_initialization
Reference initializationhttps://en.cppreference.com/cpp/language/reference_initialization
Expressionshttps://en.cppreference.com/cpp/language/expressions
Value categorieshttps://en.cppreference.com/cpp/language/value_category
Order of evaluationhttps://en.cppreference.com/cpp/language/eval_order
Operatorshttps://en.cppreference.com/cpp/language/operators
Operator precedencehttps://en.cppreference.com/cpp/language/operator_precedence
Alternative representationshttps://en.cppreference.com/cpp/language/operator_alternative
Literalshttps://en.cppreference.com/cpp/language/expressions#Literals
Booleanhttps://en.cppreference.com/cpp/language/bool_literal
Integerhttps://en.cppreference.com/cpp/language/integer_literal
Floating-pointhttps://en.cppreference.com/cpp/language/floating_literal
Characterhttps://en.cppreference.com/cpp/language/character_literal
Stringhttps://en.cppreference.com/cpp/language/string_literal
nullptrhttps://en.cppreference.com/cpp/language/nullptr
User-definedhttps://en.cppreference.com/cpp/language/user_literal
Attributeshttps://en.cppreference.com/cpp/language/attributes
typedef declarationhttps://en.cppreference.com/cpp/language/typedef
Type alias declarationhttps://en.cppreference.com/cpp/language/type_alias
Implicit conversionshttps://en.cppreference.com/cpp/language/implicit_conversion
static_casthttps://en.cppreference.com/cpp/language/static_cast
const_casthttps://en.cppreference.com/cpp/language/const_cast
Explicit conversionshttps://en.cppreference.com/cpp/language/explicit_cast
dynamic_casthttps://en.cppreference.com/cpp/language/dynamic_cast
reinterpret_casthttps://en.cppreference.com/cpp/language/reinterpret_cast
new expressionhttps://en.cppreference.com/cpp/language/new
delete expressionhttps://en.cppreference.com/cpp/language/delete
Classeshttps://en.cppreference.com/cpp/language/classes
Class declarationhttps://en.cppreference.com/cpp/language/class
Constructorshttps://en.cppreference.com/cpp/language/constructor
this pointerhttps://en.cppreference.com/cpp/language/this
Access specifiershttps://en.cppreference.com/cpp/language/access
friend specifierhttps://en.cppreference.com/cpp/language/friend
Virtual functionhttps://en.cppreference.com/cpp/language/virtual
override specifierhttps://en.cppreference.com/cpp/language/override
final specifierhttps://en.cppreference.com/cpp/language/final
explicithttps://en.cppreference.com/cpp/language/explicit
statichttps://en.cppreference.com/cpp/language/static
Default constructorhttps://en.cppreference.com/cpp/language/default_constructor
Copy constructorhttps://en.cppreference.com/cpp/language/copy_constructor
Move constructorhttps://en.cppreference.com/cpp/language/move_constructor
Copy assignmenthttps://en.cppreference.com/cpp/language/as_operator
Move assignmenthttps://en.cppreference.com/cpp/language/move_operator
Destructorhttps://en.cppreference.com/cpp/language/destructor
Templateshttps://en.cppreference.com/cpp/language/templates
Class templatehttps://en.cppreference.com/cpp/language/class_template
Function templatehttps://en.cppreference.com/cpp/language/function_template
Template specializationhttps://en.cppreference.com/cpp/language/template_specialization
Parameter packshttps://en.cppreference.com/cpp/language/pack
Inline assemblyhttps://en.cppreference.com/cpp/language/asm
History of C++https://en.cppreference.com/cpp/language/history
[edit]https://cppreference.com/index.php?title=Template:cpp/language/navbar_content&action=edit
Basic Conceptshttps://en.cppreference.com/cpp/language/basic_concepts
Commentshttps://en.cppreference.com/cpp/comment
ASCIIhttps://en.cppreference.com/cpp/language/ascii
Punctuationhttps://en.cppreference.com/cpp/language/punctuators
Names and identifiershttps://en.cppreference.com/cpp/language/identifiers
Typeshttps://en.cppreference.com/cpp/language/type
Fundamental typeshttps://en.cppreference.com/cpp/language/types
Objectshttps://en.cppreference.com/cpp/language/object
Scopehttps://en.cppreference.com/cpp/language/scope
Object lifetimehttps://en.cppreference.com/cpp/language/lifetime
Storage duration and linkagehttps://en.cppreference.com/cpp/language/storage_duration
Name lookuphttps://en.cppreference.com/cpp/language/lookup
Qualified name lookuphttps://en.cppreference.com/cpp/language/qualified_lookup
Unqualified name lookuphttps://en.cppreference.com/cpp/language/unqualified_lookup
The as-if rulehttps://en.cppreference.com/cpp/language/as_if
Undefined behaviorhttps://en.cppreference.com/cpp/language/ub
Memory modelhttps://en.cppreference.com/cpp/language/memory_model
Multi-threaded executions and data raceshttps://en.cppreference.com/cpp/language/multithread
Character sets and encodingshttps://en.cppreference.com/cpp/language/charset
Phases of translationhttps://en.cppreference.com/cpp/language/translation_phases
The main functionhttps://en.cppreference.com/cpp/language/main_function
Moduleshttps://en.cppreference.com/cpp/language/modules
Contractshttps://en.cppreference.com/cpp/language/contracts
[edit]https://cppreference.com/index.php?title=Template:cpp/language/basics/navbar_content&action=edit
declarationshttps://en.cppreference.com/cpp/language/declarations
storage class specifierhttps://en.cppreference.com/cpp/language/storage_duration
language linkagehttps://en.cppreference.com/cpp/language/language_linkage
static data memberhttps://en.cppreference.com/cpp/language/static
constexprhttps://en.cppreference.com/cpp/language/constexpr
forward declarationhttps://en.cppreference.com/cpp/language/class#Forward_declaration
opaque declarationhttps://en.cppreference.com/cpp/language/enum
template parameterhttps://en.cppreference.com/cpp/language/template_parameters
typedefhttps://en.cppreference.com/cpp/language/typedef
alias-declarationhttps://en.cppreference.com/cpp/language/type_alias
using-declarationhttps://en.cppreference.com/cpp/language/using_declaration
deduction guidehttps://en.cppreference.com/cpp/language/class_template_argument_deduction#Explicit_deduction_guides
static_asserthttps://en.cppreference.com/cpp/language/static_assert
attribute declarationhttps://en.cppreference.com/cpp/language/declarations
empty declarationhttps://en.cppreference.com/cpp/language/declarations
using-directivehttps://en.cppreference.com/cpp/language/namespace#Using-directives
explicit instantiation declarationhttps://en.cppreference.com/cpp/language/class_template#Class_template_instantiation
explicit specializationhttps://en.cppreference.com/cpp/language/template_specialization
asm declarationhttps://en.cppreference.com/cpp/language/asm
default constructorhttps://en.cppreference.com/cpp/language/default_constructor
copy constructorhttps://en.cppreference.com/cpp/language/copy_constructor
move constructorhttps://en.cppreference.com/cpp/language/move_constructor
copy assignment operatorhttps://en.cppreference.com/cpp/language/as_operator
move assignment operatorhttps://en.cppreference.com/cpp/language/move_operator
destructorhttps://en.cppreference.com/cpp/language/destructor
incomplete typehttps://en.cppreference.com/cpp/language/incomplete_type
abstract class typehttps://en.cppreference.com/cpp/language/abstract_class
1 One Definition Rulehttps://en.cppreference.com/cpp/language/definition#One_Definition_Rule
1.1 Naming an entityhttps://en.cppreference.com/cpp/language/definition#Naming_an_entity
1.2 Potential resultshttps://en.cppreference.com/cpp/language/definition#Potential_results
1.3 ODR-use (informal definition)https://en.cppreference.com/cpp/language/definition#ODR-use_(informal_definition)
1.4 ODR-use (formal definition)https://en.cppreference.com/cpp/language/definition#ODR-use_(formal_definition)
2 Defect reportshttps://en.cppreference.com/cpp/language/definition#Defect_reports
3 Referenceshttps://en.cppreference.com/cpp/language/definition#References
, concepthttps://en.cppreference.com/cpp/language/constraints
inlinehttps://en.cppreference.com/cpp/language/inline
completehttps://en.cppreference.com/cpp/language/incomplete_type
templated entityhttps://en.cppreference.com/cpp/language/templates#Templated_entity
template specializationhttps://en.cppreference.com/cpp/language/template_specialization
attached to a named modulehttps://en.cppreference.com/cpp/language/modules
tokenshttps://en.cppreference.com/cpp/language/translation_phases#Tokens
overload resolutionhttps://en.cppreference.com/cpp/language/overload_resolution
Lambda expressionshttps://en.cppreference.com/cpp/language/lambda
constant-initializedhttps://en.cppreference.com/cpp/language/constant_initialization
three-way comparisonhttps://en.cppreference.com/cpp/language/default_comparisons
as long as they are compatiblehttps://en.cppreference.com/c/language/type#Compatible_types
unnamed namespaceshttps://en.cppreference.com/cpp/language/namespace
user-defined conversionhttps://en.cppreference.com/cpp/language/cast_operator
operator newhttps://en.cppreference.com/cpp/memory/new/operator_new
allocationhttps://en.cppreference.com/cpp/memory/new/operator_new
deallocationhttps://en.cppreference.com/cpp/memory/new/operator_delete
new expressionhttps://en.cppreference.com/cpp/language/new
delete expressionhttps://en.cppreference.com/cpp/language/delete
copy elisionhttps://en.cppreference.com/cpp/language/copy_elision
mandatory elisionhttps://en.cppreference.com/cpp/language/copy_elision#Mandatory_elision_of_copy/move_operations
needed for constant evaluationhttps://en.cppreference.com/cpp/language/constant_expression#Functions_and_variables_needed_for_constant_evaluation
identifier expressionhttps://en.cppreference.com/cpp/language/expressions#Primary_expressions
potentially-evaluated expressionhttps://en.cppreference.com/cpp/language/expressions#Potentially-evaluated_expressions
usable in constant expressionshttps://en.cppreference.com/cpp/language/constant_expression#Usable_in_constant_expressions
discarded-value expressionhttps://en.cppreference.com/cpp/language/expressions#Discarded-value_expressions
class member access expressionhttps://en.cppreference.com/cpp/language/operator_member_access
non-static data memberhttps://en.cppreference.com/cpp/language/data_members
structured bindinghttps://en.cppreference.com/cpp/language/structured_binding
virtual member functionhttps://en.cppreference.com/cpp/language/virtual
initializationhttps://en.cppreference.com/cpp/language/initialization
potentially invokedhttps://en.cppreference.com/cpp/language/destructor#Potentially-invoked_destructor
CWG 261https://cplusplus.github.io/CWG/issues/261.html
CWG 678https://cplusplus.github.io/CWG/issues/678.html
CWG 1472https://cplusplus.github.io/CWG/issues/1472.html
CWG 1614https://cplusplus.github.io/CWG/issues/1614.html
CWG 1741https://cplusplus.github.io/CWG/issues/1741.html
CWG 1926https://cplusplus.github.io/CWG/issues/1926.html
CWG 2242https://cplusplus.github.io/CWG/issues/2242.html
CWG 2300https://cplusplus.github.io/CWG/issues/2300.html
CWG 2353https://cplusplus.github.io/CWG/issues/2353.html
CWG 2433https://cplusplus.github.io/CWG/issues/2433.html
Categorieshttps://en.cppreference.com/Special:Categories
Pages using deprecated source tagshttps://en.cppreference.com/index.php?title=Category:Pages_using_deprecated_source_tags&action=edit&redlink=1
Pages using deprecated enclose attributeshttps://en.cppreference.com/index.php?title=Category:Pages_using_deprecated_enclose_attributes&action=edit&redlink=1
Todo with reasonhttps://en.cppreference.com/Category:Todo_with_reason
Support ushttp://www.cppreference.com/support
Recent changeshttps://en.cppreference.com/Special:RecentChanges
FAQhttps://en.cppreference.com/Cppreference:FAQ
Offline versionhttps://en.cppreference.com/Cppreference:Archives
https://en.cppreference.com/cpp/language/definition
What links herehttps://en.cppreference.com/Special:WhatLinksHere/cpp/language/definition
Related changeshttps://en.cppreference.com/Special:RecentChangesLinked/cpp/language/definition
Upload filehttp://upload.cppreference.com/w/Special:Upload
Special pageshttps://en.cppreference.com/Special:SpecialPages
Printable versionjavascript:print();
Permanent linkhttps://en.cppreference.com/index.php?title=cpp/language/definition&oldid=178487
Page informationhttps://en.cppreference.com/index.php?title=cpp/language/definition&action=info
Españolhttp://es.cppreference.com/cpp/language/definition
日本語http://ja.cppreference.com/cpp/language/definition
Русскийhttp://ru.cppreference.com/cpp/language/definition
中文http://zh.cppreference.com/cpp/language/definition

Viewport: width=1120

Robots: max-image-preview:standard


URLs of crawlers that visited me.