C ++中的double与double *

时间:2016-11-01 07:28:58

标签: c++ pointers

我正在开发一段代码进行科学计算,因此我大量使用double变量。这些变量在函数之间传递,但大多数变量从未被修改过,因此在函数签名中定义为const

我在函数签名中使用了double*,但后来我开始怀疑使用double是否更好,因为:

  • double*double大小相同,C ++中有8个字节。
  • 当我发送double*时,我需要在函数中进行另一次获取操作。

const方式使用变量时,是否有正当理由使用double*代替double

1 个答案:

答案 0 :(得分:0)

这是问题的结果:

  • 首先,如果您没有特殊要求,请务必使用原始数据类型的传值(请参阅here),例如:
    • 通过变量传输数组
    • 保持对象间关系(概述为here
    • 和类似的
  • 在大多数情况下,传输引用对性能的影响可以忽略不计。
  • 使用const时请务必小心,如果您需要稍后更改变量,则需要进行额外的重构工作const correctness is important