• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C++中const应放在类型前还是后

c++ 搞代码 4年前 (2022-01-06) 42次浏览 已收录 0个评论

之前遇到小伙伴问C++中const加在类型名前和变量名前的区别,今天给大家简单分析下。

我把它放在前面,但那仅仅是个人爱好问题。“const T”和“T const”总是都被允许的,而且是等效的。例如:

 const int a = 1; // ok int const b = 2; // also ok 

我猜想第一种版本可能会让少数(更加固守语法规范)的程序员感到迷惑。

为什么?当我发明“const”(最初的名称叫做“readonly”,并且有一个对应的“writeonly”)的时候,我就允许它出现在类型之前或之后,因为这样做不会带来任何不明确。标准之前的C 和C++规定了很少的(如果有的话)特定的顺序规范。

我不记得当时有过任何有关顺序问题的深入思考或讨论。那时,早期的一些使用者――特别是我――仅仅喜欢这种样子:

 const int c = 10; 

看起来比这种更好:

 int const c = 10; 

也许我也受了这种影响:在我最早的一些使用“readonly”的例子中

 readonly int c = 10; 

比这个更具有可读性:

 int readonly c = 10; 

我创造的那些最早的使用“const”的(C 或C++)代码,看来已经在全球范围内取代了“readonly”。

我记得这个语法的选择在几个人――例如Dennis Ritchie――当中讨论过,但我不记得当时我倾向于哪种语言了。

来源gaodaimacom搞#^代%!码网

注意在固定指针(const pointer)中,“const”永远出现在“*”之后。例如:

 int *const p1 = q; // 指向int 变量的固定指针 int const* p2 = q; //指向int 常量的指针 const int* p3 = q; //指向int 常量的指针

以上就是C++中const应放在类型前还是后的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C++中const应放在类型前还是后

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址