c++中::的用法和命名空间

1.global scope(全局作用域)

比如
int a;

void test ()
{
  int a = ::a;//用全局变量a,给本地变量a赋值
}

2.class scope(类作用域)

比如
class A
{
  public:
    int test();
}

int A::test()//表示test是属于A的
{
 return 0;
}

3.命名空间

3.1命名空间简单声明和调用:

namespace na

{

   int a;

   char c;

}

调用 na::a

3.2嵌套使用

namespace ns1

{

                 int a;

                 char c = 10;

                 void fun();

                 int Add(int a, int b)

                {

                                 return a + b;

                }

                 namespace ns2

                {

                                 int b;

                }

}

如果要调用b则:ns1::ns2:b

3.3:给命名空间起别名

namespace Television

{...}

namespace Tv=Television;

Tv::  就可以调用Television里的成员

3.4:使用using xxx::xxx

 using ns1::a;     如果使用此语句则使用a的地方不用再加::符号

3.4.2:使用using namespace xxx

using namespace ns1 如果使用此语句那么可以直接使用ns1内部成员不用再加::符号

3.5:无名的命名空间

namespace

{

   void fun();

}

只在本文件内使用fun函数

猜你喜欢

转载自my.oschina.net/HeroOneHY/blog/1628723