首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

,初始化和赋值的不同

2012-05-11 
请教高手,初始化和赋值的不同int i 3int j i//初始化首先会创建一个i的复本.然后交给j来保管.那么in

请教高手,初始化和赋值的不同
int i = 3;
int j = i;//初始化首先会创建一个i的复本.然后交给j来保管.

那么
int i = 3;
int j;
j = i;//这样赋值是不是不会创建复本?这样赋值和初始化在运行机制.计算机处理过程中有什么区别呢?请高手详细.




[解决办法]
int j = i;//初始化首先会创建一个i的复本.然后交给j来保管.
-----------------
这本来就错了:哪来的复本?
这里只会用i的值来初始化j。
建议看汇编。
[解决办法]
int j;
j = i;//这样
=================
先用一个随机值初始化j,再给j赋值i。

而int j = i; 是以i的值来初始化j,效率高。
[解决办法]
什么要创建副本?
lz估计和类的复制构造函数和 类的隐式构造搞混了
[解决办法]

探讨
int i = 3;
int j = i;//初始化首先会创建一个i的复本.然后交给j来保管.

那么
int i = 3;
int j;
j = i;//这样赋值是不是不会创建复本?这样赋值和初始化在运行机制.计算机处理过程中有什么区别呢?请高手详细.

[解决办法]
探讨

引用:
int i = 3;
int j = i;//初始化首先会创建一个i的复本.然后交给j来保管.

那么
int i = 3;
int j;
j = i;//这样赋值是不是不会创建复本?这样赋值和初始化在运行机制.计算机处理过程中有什么区别呢?请高手详细.


初始化和赋值的区别根本不在于有没有副本这东西,根本区别只在于一个地方:初始化是从无到……

热点排行