首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C++核心准则SF.22:为所有内部/非输出实体使用非命名(无名)命名空间

C++核心准则SF.22:为所有内部/非输出实体使用非命名(无名)命名空间

作者头像
面向对象思考
发布于 2020-10-30 11:27:52
发布于 2020-10-30 11:27:52
8200
举报

SF.22: Use an unnamed (anonymous) namespace for all internal/non-exported entities

SF.22:为所有内部/非输出实体使用非命名(无名)命名空间

Reason(原因)

Nothing external can depend on an entity in a nested unnamed namespace. Consider putting every definition in an implementation source file in an unnamed namespace unless that is defining an "external/exported" entity.

任何外部实体都无法依赖位于嵌套无名命名空间内部的实体。考虑将所有实现源文件中的定义放入一个无名命名空间,除非它已经被定义为"external/exported"实体。

Example(示例)

An API class and its members can't live in an unnamed namespace; but any "helper" class or function that is defined in an implementation source file should be at an unnamed namespace scope.

API类和它的成员无法存在于无名命名空间中;但是任何定义在实现源文件中的"辅助"类或函数应该处于无名命名空间作用域中。

代码语言:javascript
复制
???
Enforcement(实施建议)
  • ???

原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#sf22-use-an-unnamed-anonymous-namespace-for-all-internalnon-exported-entities

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • SF.22: Use an unnamed (anonymous) namespace for all internal/non-exported entities
  • Reason(原因)
    • Enforcement(实施建议)
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档