我们都知道const对象作用是声明变量为常量,在程序中除非显示转换,否则无法修改。本文针对显示修改的情况,提醒了一种隐式的错误,以及解决办法。考虑下面的代码:#includeint main(){ const int a=0; int *p=const_cast(&a);//&a...
分类:
其他好文 时间:
2014-07-31 23:42:20
阅读次数:
259
从今天开始,对C++常用技术做个总结。
参考书籍:《C++Primer》、《C++对象模型》、《设计模式》、《Windows核心编程》、《STL解密》。
1. static_cast等四个cast的具体意义
C++类型转换:隐式转换和显式转换。
显式转换:static_cast、dynamic_cast、reinterpret_cast、const_cast。
1.1...
分类:
编程语言 时间:
2014-07-24 10:26:20
阅读次数:
249
《C++ Primer Plus》学习笔记9
第15章 友元、异常和其它
主要内容:
1)友元类
2)友元类方法
3)嵌套类
4)引发异常、try块和catch块
5)异常类
6)运行阶段类型识别(RTTI)
7)dynamic_cast和typeid
8)static_cast、const_cast和reiterpret_cast
1、对于Remote对象的TV...
分类:
编程语言 时间:
2014-07-23 13:31:18
阅读次数:
289
1 #include 2 using namespace std; 3 4 class A { 5 public : 6 void Show() { 7 cout 去除const或volatile限制: 1 #include 2 using n...
分类:
其他好文 时间:
2014-07-19 14:27:53
阅读次数:
190
旧式转型
(T) expression 或 T (expression)
新式转型
const_cast(expression)
通常被用来将对象的常量性转除(cast away the constness)
dynamic_cast(expression)
执行“安全向下转型”,也就是用来决定某对象是否归属继承体系中的某个类型。
reinterpret_cast(expression)
执行低级转型 //不太懂??
static_cast(expression)
强迫隐式转换
...
分类:
编程语言 时间:
2014-07-10 23:19:18
阅读次数:
250
/////////////////////////////////////////////////////////////////////////////////// FileName : cast_item27.cpp// Version : 0.10// Author...
分类:
其他好文 时间:
2014-07-07 18:58:18
阅读次数:
164
1、const_cast通常被用来将对象的常量刑转换,它也是唯一有此能力的C++-style转型操作符。
2、dynamic_cast主要用来执行“安全向下转型”,也就是用来决定某对象是否归属继承体系中的某个实现。他是唯一无法由旧式语法执行的动作,也是唯一可能耗费重大运行成本的转型动作。
3、reinterpret_case意图执行低级转型,实际动作(及结果)可能取决于编译器,这也就表示它不可...
分类:
编程语言 时间:
2014-07-06 09:01:57
阅读次数:
184
#include using namespace std;int main(){ //1.const_cast //const int a = 10; //int* ptr = const_cast(&a);//将const属性去除 //*ptr = 100; //2....
分类:
其他好文 时间:
2014-06-30 15:38:28
阅读次数:
160
1,cout 1) 用来向标准输出打印。 2)如果参数是char*类型,则直接输出字符串。如果想要输出地址,则需要强制转换: (const_cast(pstr));2,cin 1) 将标准输入读入变量,如果输入与变量声明类型不一致,则cin为false,可以用if判断,变量值不确定。 do...
分类:
编程语言 时间:
2014-06-26 19:07:54
阅读次数:
211
(一)C风格旧式转型:
(T)expression
T(expression)
(二)C++提供四种新式转型:
(1)const_cast(expression):去除表达式的常量性,是C++中唯一能做此操作的转型操作符。
(2)dynamic_cast(expression):主要用来执行“安全向下转型”,即用来决定某对象是否归属继承体系中的某个类型。它是唯一无法由旧式...
分类:
编程语言 时间:
2014-06-24 20:57:53
阅读次数:
253