1.
无名命名空间定义 : namespace
{
声明序列 }
它的成员具有从声明点到翻译单元结尾的潜在作用域,并具有内部链接。
2.在 C++中,匿名命名空间(anonymous namespace)用于定义一个只在当前文件中可见的命名空间,更具有模块化的特性。匿名命名空间可以避免命名冲突,并限制了定义在其中的变量和函数的作用域。其中的所有变量和函数默认具有内部链接性(internal linkage),这意味着它们只在定义它们的翻译单元(translation unit,通常是单个源文件)中可见。
类似于使用 static 关键字定义的全局变量或函数
举个例子:
// File: example.cpp
#include <iostream>
namespace {
int