const int = int const?

2020-01-21  本文已影响0人  cptn3m0

根据我的了解, const 这个用法在 c++ 里非常复杂, 看完了 c++ primer 5th 里相关章节更加迷惑.

  1. 顶层 const
  2. 底层 const

怎么一个 const , 又涉及了阶级斗争??!!

这个问题可以从简化一下就是, const int 和 int const 是否等效, 如果等效, 谁是例外?

答案是等效的, 但是出乎意料的是我们习以为常的 const int 是例外情况.

C++中的规则本质上const适用于其左侧的类型。但是,有一个例外,如果将其放在声明的最左端,它将应用于类型的第一部分

补充一下, const 还可以修饰函数, 表示不修改非 static 类型的变量.

void bar(...) const

这里 const 就放在被修饰 func 的右侧, 这是标准用法.

而这就是 const 的用法本质.

上一篇 下一篇

猜你喜欢

热点阅读