C++都支持哪些作用域

C++语言作用域符号是两个冒号:: ,相信大家不陌生,在看代码是一定会有很多地方有这::符号。

作用域,如果不理解是什么,可以先理解成起作用的范围。书上都是写作用域,这样比较书面话,如写成作用范围就不哪么好听。

C++语言支持3种作用域:

1.局部作用域(local scope)

每段语名块都包含一个局部作用域,如函数,循环等等。局部变量只在局部内有效,超出局部作用域是不可见的。写段代码比较好理解:

2.名字空间作用域(namespace scope) 

如果要访问已定义的名字空间内的成员,使用时要告知编译器具体调用哪个就可以。

名字空间具体内容,可以看这篇:C++名字空间

3.类作用域(class scope)

定义一个类,就相当于引入了独立的类作用域。类作用域的范围包括类的定义 体和所有的成员。

当成员函数定义到类外时,就要在成员函数前面加前缀类名,告诉编译器这个是哪个类的成员函数。之前也许都写过这样的代码,但不知道为什么要加,现在应该都明白了这是类作用域。