`
luliangok
  • 浏览: 781463 次
文章分类
社区版块
存档分类
最新评论

指针类型转换后, 指针值会改变

 
阅读更多

#include<cstdlib>
#include
<iostream>

usingnamespacestd;

structIBase
...{
inta;
}
;

structIA:publicIBase
...{
intaaa;
}
;

structIB:publicIBase
...{
intbbb;
}
;

structCChild:publicIA,publicIB
...{
intccc;
}
;

intmain(intargc,char*argv[])
...{
CChild
*pC=newCChild;
IB
*pB=(IB*)pC;

assert(pB
==pC);
assert((
void*)pB!=(void*)pC);
cout
<<pC<<""<<pB<<endl;
system(
"PAUSE");
returnEXIT_SUCCESS;
}


分享到:
评论

相关推荐

    c++中的4种类型转化方式详细解析

    这种转换不用修改指针变量值存放格式(不改变指针变量值),只需在编译时重新解释指针的类型就可做到.reinterpret_cast 可以将指针值转换为一个整型数,但不能用于非指针类型的转换.例://基本类型指针的类型转换double d...

    C to Java自动转换系统中C指针的实现.pdf

    C指针的处理是C to java代码自动转换系统中一个重要而困难的问题。已有的方法大多不能处理含有技巧的指针代码,转换生成的代码难以理解,...基于此,提出一种可用java实现C指针所有功能的方案,该方案在类型转换后不改变...

    ref-napi:将Buffer实例转换为“指针”

    将Buffer实例转换为“指针” 该模块的灵感来自于node-ffi中的旧Pointer类,但其目的是使用Node的快速Buffer实例而不是慢速的C ++ Pointer类。 这两个概念以前非常相似,但是现在这个模块带来了Pointers拥有的功能,...

    文本文件是怎样转换为EXE文件的

    为了使程序具有良好的通用性, 使用了各种显示系统通用的调色板寄存器方法, 比如可事先设置背景使用0号调色板,汉字使用2 号调色板, 之后通过调整0号和2号调色板寄存器值, 可灵活的改变屏幕颜色特性。    三、程序...

    C++中4种类型转换方式 cast操作详解

    为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubole的浮点数的指针到整型:代码:inti;doubled; i=(int)d;或者: i=int(d); 对于具有标准定义转换的简单类型而言...

    基于c++强制类型转换的(总结)详解

    为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。 C与C++的类型转换 C中: 代码如下:(T)element 或者 T(element)c++中: 代码如下:reinterpret_cast&lt;T&gt; (expression)dynamic_cast ...

    类型转换操作符:static_cast,dynamic_cast,const_cast,reinterpret_cast.

    在C语言中类型转换有几种方式:1.(expression).在表达式外边加括号,由编译器来决定怎么改变。2.new_type(expression).强制类型括号住表达式。3.(new_type)expression.括号住强制类型。4.C语言允许的内置转换。这些...

    GO语言学习文档,适合初级入门学习

    GO是一个以通用系统语言为... * Go 不支持隐含类型转换. 不同类型数据进行运算时需要转换 * Go 不支持函数重载和用户自定义操作符. * Go does 常量或可变限定词 * Go 使用nil而不是C++中的NULL或0作为逻辑非。

    《你必须知道的495个C语言问题》

    4.13 通用指针类型是什么?当我把函数指针赋向void *类型的时候,编译通不过。 51 4.14 怎样在整型和指针之间进行转换?能否暂时把整数放入指针变量中,或者相反? 51 *4.15 我怎样把一个int变量转换为char *型...

    新手学习C++入门资料

    当然,数字类型和指针类型也可以相互转换,但通常认为这样做是不安全而且也是没必要的。强制类型转换可以避免编译器的警告。 long int el=123; short i=(int) el; float m=34.56; int i=(int) m; 上面两个都...

    你必须知道的495个C语言问题.pdf

    我试了类型转换,但是不行。 第5章 空指针 空指针和空指针常量 5.1 臭名昭著的空指针到底是什么? 5.2 怎样在程序里获得一个空指针? 5.3 用缩写的指针比较“if(p)”检查空指针是否有效?如果空指针的内部表达不是0...

    你必须知道的495个C语言问题

    我试了类型转换,但是不行。 第5章 空指针 空指针和空指针常量 5.1 臭名昭著的空指针到底是什么? 5.2 怎样在程序里获得一个空指针? 5.3 用缩写的指针比较“if(p)”检查空指针是否有效?如果空指针的内部...

    C++ Primer中文版(第5版)李普曼 等著 pdf 1/3

     2.1.2 类型转换 32  2.1.3 字面值常量 35  2.2 变量 38  2.2.1 变量定义 38  2.2.2 变量声明和定义的关系 41  2.2.3 标识符 42  2.2.4 名字的作用域 43  2.3 复合类型 45  2.3.1 引用 45  2.3.2 指针 47 ...

    C++Primer(第5版 )中文版(美)李普曼等著.part2.rar

     2.1.2 类型转换 32  2.1.3 字面值常量 35  2.2 变量 38  2.2.1 变量定义 38  2.2.2 变量声明和定义的关系 41  2.2.3 标识符 42  2.2.4 名字的作用域 43  2.3 复合类型 45  2.3.1 引用 45  2.3.2 指针 47 ...

    C语言速记——基本内容

    强制类型转换 5.数据的输入和输出 选择程序设计 知识点: 1.条件判断案例 2.用if语句实现选择结构 3.关系运算符和关系表达式 4.逻辑运算符和逻辑表达式 5.条件运算符和条件表达式 6.用switch语句实现多分支选择结构 ...

    C语言程序设计标准教程

    在C语言中,数据类型可分为:基本数据类型,构造数据类型,指针类型,空类型四大类。 1.基本数据类型  基本数据类型最主要的特点是,其值不可以再分解为其它类型。也就是说,基本数据类型是自我说明的。 2.构造...

    C语言FAQ 常见问题列表

    我试了类型转换, 但是不行。 * 6. 空 (null) 指针 o 6.1 臭名昭著的空指针到底是什么? o 6.2 怎样在程序里获得一个空指针? o 6.3 用缩写的指针比较 ``if(p)" 检查空指针是否可靠?如果空指针的内部表达不是 ...

    Google C++ 编码规范

    3) reinterpret_cast:指针类型和整型或其他指针间不安全的相互转换,仅在你对所做一切了然于心时使用; 4) dynamic_cast:除测试外不要使用,除单元测试外,如果你需要在运行时确定类型信息,说明设计有缺陷(参考...

Global site tag (gtag.js) - Google Analytics