久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  千鋒問問  > c/c++中const的區(qū)別

c/c++中const的區(qū)別

匿名提問者 2023-03-28 17:19:59

c/c++中const的區(qū)別

我要提問

推薦答案

c/c++中const的區(qū)別

  在C/C++中,const是一個(gè)關(guān)鍵字,用于指定一個(gè)變量或函數(shù)參數(shù)的值不能被修改。const有兩種常見用法:const修飾符和const指針。

  const修飾符

  const修飾符用于聲明一個(gè)常量變量,即該變量的值在聲明后不能被修改。例如:

  const int x = 10;

  在這個(gè)例子中,變量x被聲明為一個(gè)整型常量,其值為10,不能再被修改。

  const指針

  const指針指的是指針指向的值不能被修改,而不是指針本身不能被修改。例如:

  const int* ptr;

  在這個(gè)例子中,指針ptr被聲明為一個(gè)指向整型常量的指針,可以改變指針本身的值,但不能改變指針?biāo)赶虻闹怠?/p>

  另一種常見的情況是使用const修飾函數(shù)參數(shù),以防止在函數(shù)內(nèi)部修改參數(shù)的值。例如:

  void foo(const int x);

  在這個(gè)例子中,參數(shù)x被聲明為一個(gè)整型常量,不能在函數(shù)內(nèi)部修改它的值。

  總的來說,const關(guān)鍵字用于指定變量或函數(shù)參數(shù)的值不能被修改,可以應(yīng)用于變量、指針以及函數(shù)參數(shù)。需要根據(jù)具體的情況選擇合適的使用方法。

其他答案

  •   在c語言中,用const定義一個(gè)常量的時(shí)候,編譯器會(huì)直接開辟一個(gè)內(nèi)存空間存放該常量,不會(huì)進(jìn)行優(yōu)化。 并且當(dāng)我們用一個(gè)指針去指向該變量的時(shí)候我們是可以對(duì)該變量進(jìn)行修改的。

  •   c++中用const定義了一個(gè)常量后,不會(huì)分配一個(gè)空間給它,而是以key-value(鍵值對(duì))的形式寫入符號(hào)表(symbol table),這使得它成為一個(gè)編譯期間的常量,沒有了存儲(chǔ)與讀內(nèi)存的操作,使得它的效率也很高。