C&C++   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C++的标识符的作用域与可见性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

  下面是关于C++的标识符的作用域与可见性学习记录,仅供参

标识符的作用域与可见性

  • 作用域是一个标识符在程序正文中有效的区域。

  • 作用域分类

    ①函数原型作用域

    ②局部作用域(快作用域)

    ③类作用域

    ④文件作用域

    ⑤命名空间作用域

函数原形作用域

  • 函数原型中的参数,其作用域始于"(",结束于")"。

  • 函数原形作用域举例

double area(double radius);

 

局部作用域

  • 函数的形参、在块中声明的标识符;

  • 其作用域自声明处起,限于块中。

  • 局部作用域举例

1 void fun(int a) {
2    int b = a;
3    cin >> b;
4    if (b > 0) {
5      int c;
6 
7      ......
8    }
9 }

类作用域

  • 类的成员具有类作用域,其范围包括类体和非内联成员函数的函数体。

  • 如果在类作用域以外访问类的成员,要通过类名(访问静态成员),或者该类的对象名、对象引用、对象指针(访问非静态成员)。

文件作用域(静态作用域)

  • 不在前述各个作用域中出现的声明,就具有文件作用域,这样声明的标识符其作用域开始于声明点,结束于文件尾。

可见性

  • 可见性是从对标识符的引用的角度来谈的概念

  • 可见性表示从内层作用域向外层作用域“看”时能看见什么。

  • 如果标识在某处可见,就可以在该处引用此标识符。

  • 如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见。

  • 对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见

例如

 1 #include<iostream>
 2 
 3 using namespace std;
 4 
 5 int i; //全局变量,文件作用域
 6 
 7 int main(void)
 8 {
 9     i = 5;
10     {
11         int i; //局部变量,局部作用域
12 
13         i = 7;
14         cout << "i ="  << i << endl;
15     }
16     cout << "i= " << i <<endl;
17     return 0;
18 }

运行结果

 1 i=7 2 i=5 

大佬总结

以上是大佬教程为你收集整理的C++的标识符的作用域与可见性全部内容,希望文章能够帮你解决C++的标识符的作用域与可见性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: