c++作用域及命名空间
来源:互联网 发布:新媒体运营网络课程 编辑:程序博客网 时间:2024/04/29 09:04
C++作用域
什么是作用域
每一个变量、函数、数组、结构体、类、等实体都有其自己有效的作用范围,这就是变量的作用域。在局部变量中,局部变量只在定义的函数范围内有效;即从变量定义开始到函数结束被释放。
int fun(){ int a; //a的作用域开始 …… ……} //a的作用域结束
在全局变量中,全局变量的作用域为从定义变量的位置开始到本源文件结束。
若全局变量与局部变量重名,则在局部变量作用域中优先使用局部变量;
若想在局部变量作用域中使用全局变量需要使用作用域限定符(::)
#include<iostream>using namespace std;int a = 1; //全局变量a的作用域开始void fun();int main(){ int a = 2; //局部变量a的作用域开始 fun(); cout << a <<endl; //在局部变量作用域中优先使用局部变量 cout << ::a <<endl; //限定使用全局变量 return 0;} //主函数结束局部变量a作用域结束;本源文件结束,全局变量a的作用域结束void fun(){ cout << a <<endl;}
C++命名空间简述
什么是命名空间:
命名空间是ANSI C++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突。
命名空间的作用
建立多个相互分割的作用域,把实体进行分隔,以免名字冲突。
访问作用域内实体
利用作用域限定符访问作用域内实体;
表达式:
命名空间名::命名空间成员名;
#include <iostream> using namespace std; namespace Bird{ void Show() { cout << "Bird" << endl; }}namespace Person{ void Show() { cout << "Person" << endl; }}int main(){ Bird::Show(); Person::Show(); system("pause"); return 0;}
4.标准命名空间std
C++标准库所有标识符都是在一个名为std的命名空间中定义的,或者说标准头文件中函数、类和对象模板是在命名空间std中定义的;
因此为了减少::的使用可以在文件开头加入 using namespace std;
阅读全文
0 0
- c++作用域及命名空间
- 命名空间作用域
- 函数和类的作用域及命名空间
- .NET中各命名空间及作用
- C# 常用的命名空间及作用
- 命名空间的作用及编程举例
- 命名空间的使用方法及作用
- Python 作用域和命名空间
- javascript变量、作用域、命名空间
- python的命名空间和作用域
- [20140101_Example02]作用域、命名空间
- Python作用域和命名空间
- javascript 变量、作用域、命名空间、this
- Python的命名空间和作用域
- js作用域与命名空间
- Python命名空间和作用域窥探
- Python命名空间和作用域
- js命名空间,解决作用域问题
- 字符格式化
- matlab2c使用c++实现matlab函数系列教程-deconv函数
- 1065: 统计数字字符的个数
- struts标签显示错误信息、循环session的值
- Java_方法的重载
- c++作用域及命名空间
- 删除项目中未使用的图片和类文件
- python安装包超时问题
- 数据融合学习入门
- a标签的字体颜色继承问题
- Java里的堆(heap)栈(stack)和方法区(method)(精华帖,多读读)
- 1066: 字符分类统计
- 今日头条
- mysql语句大全