C++库研究笔记――命名空间namespace 嵌套后的作用域问题

2014-11-23 21:34:27 · 作者: · 浏览: 9

总结:

1.::ant 表根命名空间,或匿名空间

2.同时存在 ::ant::i 和::ant::blas::i, ant::detail::i时,在::ant::detail中使用i时,默认调用ant::detail::i

3.平级namespace 调用用,要加相应的命名空间

4.域内命名空间可省

5.即使存在多个相同名字的命名空间,不会报错,按最局部分调用原则调用,如同全局变量与局部变量名字一样时,优先调用局部变量


代码:

#include 

#include 

namespace detail
{
const int i=99;
}

namespace ant
{
namespace blas
{
const int i=0;
}//end blas

const int i=3;

namespace detail
{
const int i=33;
void test()
{
    std::cout<<"i:"<