能力值:
( LV8,RANK:130 )
|
-
-
2 楼
lz你可以看看两者的反汇编代码 应该就能明白了
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我觉得就是引用就像是加了const...地址编译器已经决定好了...但是指针却不同...即使在程序运行中你也可以改变指向的对象或者空间...可以去访问其他地址.....不知道对不对...
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
引用在定义的候就得确定,引用的对象,引用和对象的联系是通过,引用这个变量名字对应的内存区域保存的是(引用对象的)地址。由于引用在定义的时候已经初始化,所以在编译阶段就能够知道引用的地址。所以在编译阶段,引用直接替换为对象的地址了。如果定义了AAA这个引用变量,在汇编代码中应该没有这个字符的标识,因为让编译器直接替换成地址了。跟你定义#define PI 3.1415926是一样的,编译阶段直接就把PI替换成了3.1415926一样吧。跟你定义int AAA不一样吧。AAA可能还存在于二进制代码中。
指针定义的时候可以初始化,也不可以初始化,不初始化的恶果就是把申请的那个内存区域的垃圾数据当成初始化的,导致非法使用。你用指针干嘛?不就是指向某个内存区域,或者从某个内存区域取值,使用目的是程序员确定的,当然的“手动”使用了。一般定义指针不是定义成 = NULL;的形式,使用的时候指向一个内存区域。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
读这本书需要较为深入的理解c++,这点可以看看c++ 编程思想
|
|
|