c++ - 函数声明中的 const 最佳实践

标签 c++

我搜索了存档的帖子,但找不到类似的内容。

只是一个简单的问题:声明检查函数的最佳实践是什么:

int foo(int a) const { return a+1; }

我指的是 const 关键字,您通常在检查函数的末尾声明它吗?我只是问,因为我通常这样做,即使 99% 我不会声明任何 const 类。我只是不断地告诉自己,如果我需要的话,它可以节省我一些时间,但我想知道是否还有其他人真的关心声明 const 函数或者如果我只是对类型安全代码偏执

最佳答案

假设您正在谈论成员函数(非成员函数永远不能是const),您应该始终编写const-correct 代码,这意味着每个和每个不修改对象可见状态的函数都应该是 const

即使您从未创建过该类型的常量对象,在许多情况下您也会通过 const 引用将对象传递给函数,在这种情况下,只有 const 成员函数可以在对象上调用(顺便说一句,这意味着您应该通过常量引用将对象传递给不需要更改接收对象状态的任何函数)

关于c++ - 函数声明中的 const 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8092805/

相关文章:

c++ - 如何在 C++ 中使用 cin.get() 提供更多数字?

c++ - 使用现代 OpenGL 渲染纹理

c++ - qsort 与结构数组?

c++ - 关于CUDA中的固定内存,它有上限吗?

c++ - 为什么 timer_create 在 solaris 10 中为 SIGEV_THREAD 抛出错误?

c++ - 无法编译摩西(对 boost::... 的 undefined reference )

c++ - 使用捆绑属性 boost BGL read_graphviz

c++ - 使用 GUID 作为 std::hash_map 中的键的 "right"方法是什么

c++ - 如果在 wait() 之前调用 notify() 怎么办?

c++ - OpenCV 多相机处理问题