如何解决在前向声明中对函数参数使用'const'
如果函数定义仍然忽略参数,是否有任何理由在函数声明中包括参数的'const'限定词?我以为C ++编译器会在强制声明'const'的情况下强制使用它,但事实并非如此。
// Compiles without warnings.
void foo(const int x);
void foo(int x) {}
int main() {foo(0); return 0;}
解决方法
不,没有充分的理由这样做。 * 。
我认为即使在定义中也要在声明中添加const
也是一个坏主意。为什么?因为语言在声明中忽略了它,所以不能保证该定义将拥有它。无论如何,它都是实现细节(本质上是选择使用const局部变量),因此,如果需要,它应该仅出现在定义中。
*“ that”指的是顶级const。语言不会忽略指向const的指针或对const的引用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。