C ++“命名空间范围”

时间:2013-10-23 12:00:30

标签: c++ namespaces extern specifications

C ++规范(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf,第7.5.4节)声明

  

链接规范只应在命名空间范围内进行

“命名空间范围”究竟是什么意思?这是否意味着链接规范(例如extern "C")不能在全局范围内,仅在命名空间中? “命名空间范围”到底意味着什么?

1 个答案:

答案 0 :(得分:2)

这意味着,extern "C"应该只在名称空间范围内(不是类范围,块范围等)。在名称空间中,但在全局范围内的东西 - 在全局名称空间范围内

潜在的范围表示为 原始名称空间名称是由每个名称建立的声明区域的串联 与原始名称空间名称相同的声明性区域中的名称空间定义。