C++的常量const基本用法
来源:互联网 发布:淘宝宝贝地址无法打开 编辑:程序博客网 时间:2024/06/01 22:36
#include <iostream>using namespace std;class Const {const int i;int j;public:Const(int ci);void test();const int* constTest();int* constTest2() const;};Const::Const(int ci):i(ci) {j = 18;};void Const::test() {int i0 = i;cout << "i0 = " << i0 << endl;//地址值const int* i1;//整型指针,值是常量i1 = &i0;//int* const i2;//必须要直接初始化int* const i2 = &i0;//整型指针,指针是常量cout << "i1 = " << i1 << endl;//地址值cout << "i2 = " << i2 << endl;//地址值//i2++;//不能改变指针*i2 = 1;//可以改变值cout << "i1 = " << i1 << endl;//地址值cout << "i2 = " << i2 << endl;//地址值cout << "*i1 = " << *i1 << endl;//1cout << "*i2 = " << *i2 << endl;//1i1++;//可以改变指针//*i1 = 2;//不能改变值cout << "i1 = " << i1 << endl;//地址值(已改变)cout << "i2 = " << i2 << endl;//地址值*i2 = 5;cout << "*i1 = " << *i1 << endl;//未知值cout << "*i2 = " << *i2 << endl;//5cout << "++*i2 = " << ++*i2 << endl;//6cout << "*i2 = " << *i2 << endl;//6}/* const写在方法名前面,表示返回值是const */const int* Const::constTest() {j++;return &j;}/* const写在方法名后面,表示是const函数 */int* Const::constTest2() const {//j++;//const函数内不允许修改数据成员//int* j1 = j;//const函数内不允许赋值给int*int j1 = j;j1++;return &j1;}int main() {Const c(3);c.test();const int* const p = c.constTest();cout << "*p = " << *p << endl;//19const int* p2 = c.constTest2();cout << "*p2 = " << *p2 << endl;//20getchar();};
我机器上的运行结果如下:
i0 = 3
i1 = 001DF950
i2 = 001DF950
i1 = 001DF950
i2 = 001DF950
*i1 = 1
*i2 = 1
i1 = 001DF954
i2 = 001DF950
*i1 = -858993460
*i2 = 5
++*i2 = 6
*i2 = 5
*p = 19
*p2 = 20
0 0
- C++的常量const基本用法
- const的常量的用法
- C/C++中的const和const指针的基本用法
- const的基本用法
- C++中const常量的用法总结
- const修饰指针的用法:常量指针和指针常量
- C-C++中const关键字的用法及其与宏常量的比较
- c/c++中extern、static、const的用法及全局变量/常量
- const的常见基本用法
- C中const 定义常量的使用
- C/C++中define定义的常量与const常量
- C语言const限定词基本用法
- c 常量 const
- C++const/常量折叠
- c/c++ const 的用法
- C语言:const的用法
- C语言--const的用法
- C语言const的用法
- 螺旋矩阵 解法
- android 完全退出应用程序
- Win8桌面应用调用WinRT提供的API,编译时提示错误(“ResolveManifestFiles”任务意外失败。 System.ArgumentException: 值不在预期的范围内。)
- hadoop的安装与配置(伪分布式模式安装)
- N皇后递归剪枝实现
- C++的常量const基本用法
- linux系统:init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d
- 在ubuntu13.10下交叉编译VLC2.1.0 win32版
- python常用函数
- css选择器
- Core Data入门
- OCP-1Z0-053-V13.02-110题
- 解决error C2664: no instance of constructor "CFileDialog::CFileDialog" matches the list
- WINDOWS 7 配置驱动开发环境(wdk7.60)