
C++语言
FAR
勿以浮沙筑高台
展开
-
反汇编角度解释C++语言中引用的原理
给出一个很简单的引用实例C++源码:#includeusing namespace std;void Add(int& __nVar){__nVar++;}void main(){int nVar=0x00000001;Add(nVar);cout}运行结果:nVar=2下面是反汇编代码:原创 2013-02-28 23:12:33 · 661 阅读 · 0 评论 -
反汇编解析#define和const的区别
#define是一个真常量,而const却是由编译器判断实现的常量,严格来说是一个伪常量;在实际中,由const定义的常量其实仍然是一个变量,只是编译器在编译过程中进行了检查,发现修改就会报错;如果利用指针得到const int变量的地址,然后根据地址强制改变这个变量的值会有什么情况呢?编译器会不会报错?变量值会不会改变?C++代码如下: vo原创 2013-03-01 21:33:00 · 830 阅读 · 0 评论 -
SIZEOF()计算结构体的问题;
下面这样的一个结构体:struct stu1 { int i; char c; int j; };先介绍一个相关的概念——偏移量。偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大原创 2013-03-25 20:09:32 · 748 阅读 · 0 评论