0

在变量中初始化和做算术是不好的做法吗?即说我有多个不同面积尺寸的房间,我必须找到以下区域:

(以英尺为例)

double room_area1 = 9.5 * 6.8;
double room_area2 = 9.1 * 6.2;
double room_area3 = 10.0 * 7.1; 

还是最好这样做:

double room_area1 = 9.5;
room_area1 = room_area1 * 6.8;

这两种方式之间是否有任何差异,或者是同一件事,只是风格问题?

4

3 回答 3

2

第一个只涉及一个操作:初始化
而第二个涉及两个操作:初始化+赋值

对于像开销这样的内在数据类型double,可以忽略不计,但对于用户定义的数据类型,第二个对性能有害(多少?分析应该说明这一点)。

所以一般来说使用 First 是更好的做法,因为:

  • 如果不比 Second 快,它保证至少与 Second 一样快
  • 它更具可读性。
于 2013-01-25T06:09:38.980 回答
2

第一种方法更好。原因:它更具可读性。

虽然这些构造在语义上是不同的是正确的,但对于简单类型,编译器几乎肯定会将第二种情况优化为与第一种情况一样,并生成相同的机器代码,将一个常量(在编译时计算)存储到room_area1.

于 2013-01-25T06:09:39.693 回答
1

第一个例子没有错。事实上,这样更好,因为您可以声明变量 const。

于 2013-01-25T06:11:18.920 回答