【问题标题】:Const non-reference parameters [duplicate]const非参考参数[重复]
【发布时间】:2020-07-13 16:38:12
【问题描述】:

下面的const用法有什么价值吗?

void Func(const bool state) {
    std::cout << "The state is: " << state << std::endl;
}

const 参考当然是推荐的,我肯定看到了它的好处。但是,除了非参考参数之外,简单的const。有什么用吗?

【问题讨论】:

  • 如果将state = false; 放入正文中(有意或无意),编译器会出错。如果这确实是一个错误,那将是有价值的。
  • 是的。我知道,但我的问题更多的是 - “这是一种好的编程习惯”。但看看其他相关的讨论,听起来好像不是。我得到了我的答案。非常感谢。

标签: c++ parameters reference constants


【解决方案1】:

这些函数声明

void Func(const bool state);

void Func(bool state);

是等价的并声明相同的一个函数。

您甚至可以在编译单元中包含这两个声明。

但是,如果参数是用限定符 const 声明的,那么在函数定义中它可能不会被更改。

注意函数的参数是它的局部变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 2019-12-28
    相关资源
    最近更新 更多