Home >Backend Development >C++ >What is the C One-Definition Rule and How Does it Ensure Program Consistency?
The Nature of the One-Definition Rule in C
In C , the One-Definition Rule governs the behavior of programs by limiting multiple definitions of certain entities within a translation unit. Let's delve into the specifics of this rule:
Official Definition
Beyond the reference in The C Programming Language, 3rd ed., P. 9.2.3, the official definition of the rule can be found in the C standard within section 3.2:
"No translation unit shall contain more than one definition of any variable, function, class type, enumeration type or template."
Furthermore, the standard emphasizes that every non-inline function or object used in a program must have exactly one definition. If an inline function is employed, it must be defined in every translation unit where it's referenced.
Implications
This rule ensures that:
Exceptions
The One-Definition Rule does not apply to:
The above is the detailed content of What is the C One-Definition Rule and How Does it Ensure Program Consistency?. For more information, please follow other related articles on the PHP Chinese website!