using-directive at header scope
ID |
c.maintainability.using_namespace_in_header |
Severity |
low |
Remediation Complexity |
medium |
Remediation Risk |
medium |
Remediation Effort |
low |
Resource |
Namespace |
Language |
C / C++ |
Description
A using namespace directive in a header injects the named namespace into every translation unit that includes it, causing surprising name clashes far from this file. Keep using-directives out of headers; qualify names explicitly or use a narrow using declaration inside a function or .cpp file instead.
Rationale
A using namespace directive in a header injects the named namespace into every translation unit that includes it, causing surprising name clashes far from this file. Keep using-directives out of headers; qualify names explicitly or use a narrow using declaration inside a function or .cpp file instead.