在C++里有个问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 07:50:04
在C++里 int x;
x=3;

int x = 3;
表达的是一个意思吗?

表达的意思不一样。
第一种是复制操作,第二种是赋值初始化操作。
明显第二种效率高。
因为第一种声明并分配了x,系统已经给定一个值,接下来用值3拷贝到x中,属于复制操作。
而第二种声明了x并将其值初始化为3。
当然,最终效果上是一样的,但两者的概念必须区分清楚,对于以后学习类的概念时尤其重要。

作用和实现的效果是一样的.

第一种方式是,先定义一个X变量,如果没有初始化的话,外部变量默认值为0,局部变量为无效值.然后在给X赋值3.

第二种方式是,定义一个变量为X并初始化它的值为3.

意思不一样,
int x=3;是直接复值

int x;
(中间可以有其他复值)
x=3;是间接复值(不管你的x之前是多少,在此重新获值)