C++ const变量
来源:互联网 发布:君威气襄电脑数据恢复 编辑:程序博客网 时间:2024/06/06 05:08
const 定义一个常量,
const int bufsize = 512;//bufsize定义为一个常量,不可以修改。并且定义时必须初始化。
const对象默认为是文件的局部变量,若要可以在整个程序中使用,须在定义时显示指明为extern,表示定义为extern变量,可以在其他文件中使用,其他文件使用时要先声明。
//file1.cppextern const int bufsize = fnc();//定义为extern const 变量,同时初始化//file2.cppextern const int bufsize;//声明extern 变量,表示这个bufsize是在file1.cpp中定义的。for(int i = 0; i<bufsize; i++){//。。。}
非const 变量默认就是extern的
//file1.cppint count;//file2.cppextern int count;count++;
引用
引用绑定时根据引用的类型也分为const引用和非const引用。const引用可以绑定不同类型的对象或初始化为右值。而非const引用只能绑定到与改引用同类型的对象上。
int i = 42;const int &r = 42;const int &r2 = r+i;//以上两种情况只对const引用有效。
double dval = 3.14;const int &ri = dval;
编译器会将上面这个转化为
int temp = dval;const int &ri = temp;//const 引用绑定的是temp而不是的dval,这样dval的值仍可以修改而ri是只读的。
const和define的区别:
1.const常量做类型检查,而宏不做类型检查,宏只是文本替换。
2.运行时间,宏替换发生在预处理阶段,编译之前完成。const变量有时会被分配内存地址,这根据编译器对其进行检查,在运行时刻调用。
3.内存分配,const常量最多分配一次内存;define不分配内存(只是个立即数),在运行时,有几次替换就分配几次内存。
0 0
- C语言 const类型变量
- C语言修改const变量
- c的指针与复杂变量---const
- c基础 堆栈 全局变量 局部变量 const
- c语言中的只读变量const
- C语言中Const指针变量
- c语言const 变量使用注意点
- C语言小细节---------const变量
- C语言中的const变量初始化
- 修改C中const修饰的变量
- 【C++】修改const变量的值
- Object-C宏定义与const变量
- c语言中const修饰指针变量
- C/C++ const 修饰指针变量
- C++static / const /static const 型成员变量
- 关于C/C++中的const变量与const指…
- C语言 const static 静态变量 全局变量 局部变量
- const变量
- CF 691E Xor-sequences 矩阵快速幂 + dp
- android 一个很好使用的 LogUtils 日志工具类
- Windows7和Ubuntu双系统安装。
- 读-Martin Fowler-企业应用架构模式
- 矩形旋转碰撞,OBB方向包围盒算法实现
- C++ const变量
- JZOJ 4822 【NOIP2016提高A组集训第1场10.29】完美标号
- 使用fiddler进行genymotion安卓虚拟机手机抓包
- 使用Clion新建项目出现编译出错
- IplImage * cv::Mat cvArr*转换
- 解决java中的java.lang.Integer cannot be cast to java.lang.Double问题
- android 安卓按两次退出程序
- java判断字符串中中文个数
- HDU 1402 A*B(FFT 模板题)