国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++中const應(yīng)放在類型前還是后

2020-05-23 14:04:47
字體:
供稿:網(wǎng)友
之前遇到小伙伴問C++中const加在類型名前和變量名前的區(qū)別,今天給大家簡單分析下。
 

我把它放在前面,但那僅僅是個人愛好問題。“const T”和“T const”總是都被允許的,而且是等效的。例如:

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

我猜想第一種版本可能會讓少數(shù)(更加固守語法規(guī)范)的程序員感到迷惑。

為什么?當(dāng)我發(fā)明“const”(最初的名稱叫做“readonly”,并且有一個對應(yīng)的“writeonly”)的時候,我就允許它出現(xiàn)在類型之前或之后,因為這樣做不會帶來任何不明確。標(biāo)準(zhǔn)之前的C 和C++規(guī)定了很少的(如果有的話)特定的順序規(guī)范。

我不記得當(dāng)時有過任何有關(guān)順序問題的深入思考或討論。那時,早期的一些使用者——特別是我——僅僅喜歡這種樣子:

  const int c = 10;

看起來比這種更好:

  int const c = 10;

也許我也受了這種影響:在我最早的一些使用“readonly”的例子中

  readonly int c = 10;

比這個更具有可讀性:

  int readonly c = 10;

我創(chuàng)造的那些最早的使用“const”的(C 或C++)代碼,看來已經(jīng)在全球范圍內(nèi)取代了“readonly”。

我記得這個語法的選擇在幾個人——例如Dennis Ritchie——當(dāng)中討論過,但我不記得當(dāng)時我傾向于哪種語言了。

注意在固定指針(const pointer)中,“const”永遠(yuǎn)出現(xiàn)在“*”之后。例如:

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安新县| 虹口区| 德州市| 腾冲县| 平乡县| 盖州市| 石嘴山市| 嘉义县| 大足县| 临西县| 平安县| 彭阳县| 静海县| 宜兰市| 定西市| 崇文区| 双桥区| 曲阜市| 寻乌县| 三河市| 益阳市| 抚松县| 浮山县| 潼南县| 新竹市| 临洮县| 门源| 潍坊市| 资源县| 泰宁县| 慈利县| 上犹县| 平原县| 星座| 昭觉县| 东乡县| 望都县| 廊坊市| 五河县| 清流县| 高碑店市|