为什么将变量标记为常量?

时间:2011-02-17 20:49:33

标签: c++ variables const

  

可能重复:
  Does declaring C++ variables const help or hurt performance?

除了你不能改变成本变量之外,它是否使用更少的内存或者能否更快地访问这些值?

const int a = 1;
int b = 1;

考虑到它是同一个全球,本地和集体成员。

由于

2 个答案:

答案 0 :(得分:3)

  

它使用更少的内存还是可以更快地访问这些值?

通常都没有。它只是使程序更加健壮,因为您(或其他人)无法意外地更改该值。

当您希望向消费者显示您不会修改其值时,这在公共API中尤其有用。变量的每次修改都意味着程序状态的变化。为了让程序员确保他们的程序正常工作,他们需要跟踪状态,如果他们不知道他们的变量何时或如何更改,那么非常更难。

因此const的主要目的是语义记录,这是一个非常强大的目的。经常使用const

答案 1 :(得分:0)

引用const变量并不快。请使用restrict参数。

标准库字符串函数将使用const来告诉您数据结构没有副作用,它用于建立只读策略并避免副作用。