C++17前,命名空间的定义需要写完整的定义:
#include <iostream>
using namespace std;
namespace A{
namespace B{
void doSomething()
{
cout<<__func__<<endl;
}
}
}
int main(){
A::B::doSomething();
return 0;
}
运行程序输出:
doSomething
C++17可以通过嵌套的方式定义命名空间:
#include <iostream>
using namespace std;
namespace A::B{
void doSomething()
{
cout<<__func__<<endl;
}
}
int main(){
A::B::doSomething();
return 0;
}
运行程序输出:
doSomething