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

 更新时间:2016年05月11日 12:08:37   投稿:hebedich  
之前遇到小伙伴问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——当中讨论过,但我不记得当时我倾向于哪种语言了。

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

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

相关文章

  • C语言算法练习之求二维数组最值问题

    C语言算法练习之求二维数组最值问题

    这篇文章主要为大家介绍了C语言算法练习中求二维数组最值的实现方法,文中的示例代码讲解详细,对我们学习C语言有一定帮助,需要的可以参考一下
    2022-09-09
  • 利用C语言编写一个无限循环语句

    利用C语言编写一个无限循环语句

    这篇文章主要介绍了利用C语言编写一个无限循环语句问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Objective-C不带加减号的方法实例

    Objective-C不带加减号的方法实例

    显而易见的事实是,Objective-C 中,+ 表示类方法,- 表示实例方法,这篇文章主要给大家介绍了关于Objective-C不带加减号的相关资料,需要的朋友可以参考下
    2021-06-06
  • C++二分法在数组中查找关键字的方法

    C++二分法在数组中查找关键字的方法

    这篇文章主要介绍了C++二分法在数组中查找关键字的方法,涉及C++数组查找算法的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • C语言中编写可变参数函数

    C语言中编写可变参数函数

    这篇文章主要介绍了C语言中编写可变参数函数的相关资料,需要的朋友可以参考下
    2017-07-07
  • C语言实现排序算法之归并排序详解

    C语言实现排序算法之归并排序详解

    这篇文章主要介绍了C语言实现排序算法之归并排序,对归并排序的原理及实现过程做了非常详细的解读,需要的朋友可以参考下
    2014-07-07
  • C++三元表达式详情

    C++三元表达式详情

    这篇文章主要介绍了C++三元表达式,文章围绕C++三元表达式的相关资料展开详细内容,需要的朋友可以参考一下,希望多你有所帮助
    2021-11-11
  • C++读写(CSV,Yaml,二进制)文件的方法详解

    C++读写(CSV,Yaml,二进制)文件的方法详解

    为了处理文件,我们可以利用fstream库。在这个库里面有三种数据类型:ofstream,ifstream,fstream。本文将利用这个库实现不同文件的读写操作,需要的可以参考一下
    2022-05-05
  • C/C++中带空格字符串的输入讲解

    C/C++中带空格字符串的输入讲解

    这篇文章主要给大家介绍了关于如何解决C++中带空格字符串的输入问题,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2021-09-09
  • 详解Qt中QStackedWidget控件的使用

    详解Qt中QStackedWidget控件的使用

    这篇文章主要为大家详细介绍了Qt中QStackedWidget控件的具体使用,文中的示例代码讲解详细,具有一定的借鉴价值,需要的可以参考一下
    2023-02-02

最新评论