【问题标题】:Usage of keyword const in a function argument [duplicate]在函数参数中使用关键字 const [重复]
【发布时间】:2015-08-04 13:55:26
【问题描述】:

举个例子:

void foo(const int foobar);

关键字const 有意义吗?

【问题讨论】:

    标签: c


    【解决方案1】:

    是的,很明显。您的函数foo() 将无法修改函数内部的值foobar

    【讨论】:

    • 嗨苏拉夫;希望你没事。 “将不能”......这是错误的。在 C 中,const 是程序员的承诺,不会更改,编译器/运行时不会强制执行。
    • @Olaf 抱歉,但尝试这样做会产生 comp-err,对吧?
    • 你可以抛弃 const,仍然使用同一个对象(是的,这应该会产生一个警告,但是,嘿,警告总比错误好......;-)
    • 是的,我是一个破坏性的混蛋;-) - 我必须小心编写代码的一个原因,如果我不小心,它会在我已经测试时中断。其他人设法绕过他们的错误(无意)。仅供参考:在其他语言中,例如 Python,您可以使用例如使对象成为真正的只读对象。特性。任何访问都会导致运行时异常。在 C 中,对此没有任何保证,只有 UB。
    • 皮尤,我已经想知道 +1 的作用是什么 ;-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2012-06-14
    相关资源
    最近更新 更多