René's URL Explorer Experiment


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

Generator: MediaWiki 1.43.8

direct link

Domain: cppreference.com

format-detectiontelephone=no

Links:

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