在变量中进行初始化和算术运算是否不好? 即说我有多个面积不同的房间,我必须找到以下区域:
(以英尺为单位)
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;
这两种方式之间是否存在差异,或者是同一件事,还是一个风格问题?
首先只涉及一个操作: 初始化 ,
而第二个涉及两个操作: 初始化+赋值 。
对于像double
这样的固有数据类型,开销可以忽略不计,但是对于用户定义的数据类型,第二个对性能有害( 多少?概要分析应该说明这一点 )。
因此,通常最好使用First,因为:
第一种方法更好。 原因:更具可读性。
正确的是,这些构造在语义上是不同的, 对于简单类型 ,编译器几乎可以肯定会优化第二种情况,使其类似于第一种情况,并生成相同的机器代码,并将一个常量(在编译时计算出)存储到room_area1
。
第一个示例没有错。 实际上,这样做更好,因为您可以声明变量const。