c++ const_cast操作符、指针常量和常量指针的解释
2008-11-26 21:40
309 查看
#include <iostream>
using namespace std;
int main()
{
//const_cast的用法
{
int a = 2;
const int b = 3;
//int *f = &b;
int *c = const_cast<int*>(&b);//建立了b的临时变量
*c = 6;//不能改变b的值
int &d = a;
d = 23;
cout << &b << endl << c <<endl;
cout << b << " " << *c << "*****" << a << " " << d <<endl;
cout << &b << endl << c <<endl;
int p = 20;
const int *pp = &p;
int *ppp = const_cast<int *>(pp);
*ppp = 30;
//*pp = 40;错误,但是可以通过PPP来改变pp的值
cout << pp << endl << ppp << endl << &p;
cout << *pp << p <<endl; //3030
}
//指针常量和常量指针
{
int a = 2;
int b = 3;
const int * c = &a;//常量指针,可改变指向地址的指针
c = &b;//正确
//*c = 5;不正确
int * const d = &a;//指针常量,可改变指向变量值的指针
*d = 5;//正确
//d = &b;//不正确
}
}
using namespace std;
int main()
{
//const_cast的用法
{
int a = 2;
const int b = 3;
//int *f = &b;
int *c = const_cast<int*>(&b);//建立了b的临时变量
*c = 6;//不能改变b的值
int &d = a;
d = 23;
cout << &b << endl << c <<endl;
cout << b << " " << *c << "*****" << a << " " << d <<endl;
cout << &b << endl << c <<endl;
int p = 20;
const int *pp = &p;
int *ppp = const_cast<int *>(pp);
*ppp = 30;
//*pp = 40;错误,但是可以通过PPP来改变pp的值
cout << pp << endl << ppp << endl << &p;
cout << *pp << p <<endl; //3030
}
//指针常量和常量指针
{
int a = 2;
int b = 3;
const int * c = &a;//常量指针,可改变指向地址的指针
c = &b;//正确
//*c = 5;不正确
int * const d = &a;//指针常量,可改变指向变量值的指针
*d = 5;//正确
//d = &b;//不正确
}
}
相关文章推荐
- C++中四种类型转换以及const_cast是否能改变常量的问题
- c++ 常量指针 const*const
- C++转型操作符:const_cast, static_cast, dynamic_cast和reinterpret_cast
- C++ 转型操作符 【1】static_cast 和const_cast
- C++ Special:const关键字和常量指针 vs 指针常量
- C++易混知识点1: 指针常量和常量指针的区别,附有详细案例解释
- C++中的const用法【01】----常量与指针
- C++ - const常量与指针和引用之间的关系
- C++ const_cast强制去掉常量属性
- 对C++中类型显示转换操作符const_cast<类型>(变量)的认识
- C++ Special:const关键字和常量指针 vs 指针常量
- C++中常量指针,指针常量(const 和*)的使用方法和理解方法
- C++ Special:const关键字和常量指针 vs 指针常量
- C++转型操作符:const_cast、dynamic_cast、static_cast、reinterpret_cast
- 20140421 常量指针与指针常量; const指针; reinterpret_cast ;const_cast作用
- C/C++中的const--常量指针与指针常量
- c++常量指针和指针常量--const
- C++的四种操作符:static_cast,dynamic_cast,reinpreter_cast,const_cast
- C++ Special:const关键字和常量指针 vs 指针常量
- C/C++几个常见概念分析(指针、引用 、const常量、#define)