11 lines
681 B
Plaintext
11 lines
681 B
Plaintext
Declaring names in appropriate namespaces reduces the number of names found during lookup, decreasing the risk of name clash and of surprising name lookup.
|
|
|
|
This rule raises an issue when a name in the global namespace has external linkage and therefore can be accessed from outside a particular translation unit.
|
|
|
|
Some names have to be declared in the global namespace, and are excluded from this rule:
|
|
|
|
* ``++main++`` (or its variants)
|
|
* Overloads of the global ``++new++`` & ``++delete++`` operators
|
|
|
|
In addition, no issue is raised for function definitions because they can only be accessed from different translation units through a forward declaration that will be flagged.
|