C++ 用尽可能多的 const 是好风格吗?

查看 79|回复 8
作者:iqoo   
之前写 TypeScript 时,习惯给能加 const 的变量都加上 const 。
但 C++ 里加上 const 后代码累赘了不少。
const auto v = .....
const char* const buf = ....
而且 STL 容器使用 const 修饰后,容器本身也不能修改了,而非只是变量不能改。
所以 C++ 里加上尽可能多的 const 是不是一个好风格?

const, 里加, 变量, 容器

macha   
当然咯,只是很多人省事不加而已。
wevsty   
能用 const 的地方尽量使用 const 是一个好习惯,因为能避免意外的修改。
对 STL 来说也是一样的,容器内部数据的变动很可能造成迭代器的失效或者多线程访问时出现各种各样的问题,如果确定一个地方不应该对容器内部数据进行修改,那么就应该鼓励传入 const 引用。
当然,实际操作上还是得看具体的代码需求就是了。
inhzus   
大部分情况下、主流观点认为是是好风格(当然偶尔会看到一些也有道理的反驳观点)
weeei   
只在关键的地方加也行,比如函数后面、局部指针变量,能够让编译器优化和避免一些低级错误。
xiangyuecn   
@inhzus
比如?
weeei   
支持禁用 const 关键字。
Lightbright   
比较操蛋的应该是 const int *p, int * const p, const int * const p; 的理解。
xiangyuecn   
@weeei 什么年代了还在用传统指针 (逃
您需要登录后才可以回帖 登录 | 立即注册

返回顶部