【问题标题】:Why marking variables as a constant? [duplicate]为什么将变量标记为常量? [复制]
【发布时间】:2011-02-17 20:49:33
【问题描述】:

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

除了不能更改成本变量之外,它使用的内存更少还是可以更快地访问值?

const int a = 1;
int b = 1;

考虑到它是同一个全局、本地和类成员。

谢谢

【问题讨论】:

标签: c++ variables constants


【解决方案1】:

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

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

当您想向消费者表明您不会修改他们的值时,这在公共 API 中特别有意义。变量的每一次修改都意味着程序状态的改变。为了让程序员确保他们的程序正常工作,他们需要跟踪状态,如果他们不知道变量何时或如何改变,这非常困难。 p>

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

【讨论】:

  • 它也会影响优化,但仅限于应用于对象定义时,而不是与指针一起使用时。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2021-11-12
    相关资源
    最近更新 更多