最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ const和指針詳情

 更新時(shí)間:2021年11月16日 10:45:36   作者:梁唐  
這篇文章主要介紹了C++ const和指針,關(guān)于使用const來(lái)修飾指針,有兩種不同的方式。第一種是讓指針指向一個(gè)常量對(duì)象,這樣可以防止使用該指針進(jìn)行修改指向的值。第二種則是將指針本身聲明為常量,可以防止改變指針指向的位置,下面來(lái)看看文章的詳細(xì)內(nèi)容

1、指針和const

我們知道const關(guān)鍵字修飾的是不可變量,將它和指針一起使用,會(huì)有很多微妙的地方。

關(guān)于使用const來(lái)修飾指針,有兩種不同的方式。第一種是讓指針指向一個(gè)常量對(duì)象,這樣可以防止使用該指針進(jìn)行修改指向的值。第二種則是將指針本身聲明為常量,可以防止改變指針指向的位置。下面我們來(lái)看下細(xì)節(jié)。

1.1 指向常量的指針

首先是指向常量的指針,含義是指針的類型是一個(gè)常量類型。所以寫(xiě)成:

const int * p;


可以理解成p是一個(gè)指針,它的類型是const int,也就是常量類型。它既可以用來(lái)指向一個(gè)常量類型,也可以指向一個(gè)非常量類型,下方的這兩種方式都是合法的:

int age = 23;
const int* p = &age;

const double price = 233;
const double* pt = &price;


但是反過(guò)來(lái),將一個(gè)const類型的變量賦值給一個(gè)非const的指針是非法的:

const int age = 23;
int* p = &age; // 非法


如果非要這樣做,可以使用const_cast運(yùn)算符進(jìn)行強(qiáng)制轉(zhuǎn)換,這個(gè)我們會(huì)在之后的文章當(dāng)中討論。

另外還有一個(gè)很有意思的點(diǎn),如果我們將一個(gè)非const類型的變量賦給了const類型的指針,雖然我們無(wú)法通過(guò)指針修改對(duì)應(yīng)的值,

但是通過(guò)變量修改卻是可以的:

int age = 23;
const int* p = &age;

*p = 233; // 非法
age = 233; // 合法


還有,我們無(wú)法修改指針指向的值,但是修改指針指向的位置是可以的:

int age = 23;
int price = 233;
const int* p = &age;
p = &price;

1.2 const指針

上面我們介紹了指向const的指針,還有另外一種指針叫做const指針。const指針指的是指針本身是const修飾的,我們無(wú)法修改指針指向的位置。

int age = 23;
int* const p = &age;


但是我們修改指針指向的值是可以的:

*p = 2333; // 合法

1.3 指針和內(nèi)容都不可變

當(dāng)然我們也可以將兩種const疊加使用,讓指針指向的對(duì)象以及對(duì)象的值都不可修改:

const int * const p = &age;

到此這篇關(guān)于C++ const和指針詳情的文章就介紹到這了,更多相關(guān)C++ const和指針內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

文章轉(zhuǎn)自公眾號(hào):Coder梁(ID:Coder_LT)

相關(guān)文章

  • 詳解C++編程中運(yùn)算符的使用

    詳解C++編程中運(yùn)算符的使用

    這篇文章主要介紹了詳解C++編程中運(yùn)算符的使用,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • 基于大端法、小端法以及網(wǎng)絡(luò)字節(jié)序的深入理解

    基于大端法、小端法以及網(wǎng)絡(luò)字節(jié)序的深入理解

    本篇文章是對(duì)大端法、小端法以及網(wǎng)絡(luò)字節(jié)序進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++簡(jiǎn)明講解類型轉(zhuǎn)換的使用與作用

    C++簡(jiǎn)明講解類型轉(zhuǎn)換的使用與作用

    類型轉(zhuǎn)換(type?cast),是高級(jí)語(yǔ)言的一個(gè)基本語(yǔ)法。它被實(shí)現(xiàn)為一個(gè)特殊的運(yùn)算符,以小括號(hào)內(nèi)加上類型名來(lái)表示,接下來(lái)讓我們一起來(lái)詳細(xì)了解
    2022-04-04
  • 基于C語(yǔ)言實(shí)現(xiàn)關(guān)機(jī)小游戲的示例代碼

    基于C語(yǔ)言實(shí)現(xiàn)關(guān)機(jī)小游戲的示例代碼

    關(guān)機(jī)會(huì)寫(xiě)吧!猜數(shù)字會(huì)寫(xiě)吧!本文將結(jié)合這兩個(gè)功能,用C語(yǔ)言編寫(xiě)一個(gè)關(guān)機(jī)惡搞小游戲(最好的朋友轉(zhuǎn)瞬即逝),只要猜對(duì)了,1分鐘后執(zhí)行關(guān)機(jī),除非輸入“我是豬”,但是輸完后,1分鐘后還是會(huì)執(zhí)行關(guān)機(jī),該保存保存,感興趣的可以嘗試一下
    2022-07-07
  • 在C語(yǔ)言中調(diào)用C++做的動(dòng)態(tài)鏈接庫(kù)

    在C語(yǔ)言中調(diào)用C++做的動(dòng)態(tài)鏈接庫(kù)

    如果你有一個(gè)c++做的動(dòng)態(tài)鏈接庫(kù).so文件,而你只有一些相關(guān)類的聲明,那么你如何用c調(diào)用呢,別著急,本文通過(guò)一個(gè)小小的例子,讓你能夠很爽的搞定.
    2016-05-05
  • Cocos2d-x UI開(kāi)發(fā)之場(chǎng)景切換代碼實(shí)例

    Cocos2d-x UI開(kāi)發(fā)之場(chǎng)景切換代碼實(shí)例

    這篇文章主要介紹了Cocos2d-x UI開(kāi)發(fā)之場(chǎng)景切換代碼實(shí)例,cocos2d-x中的場(chǎng)景切換是通過(guò)導(dǎo)演類調(diào)用相應(yīng)的方法完成的,本文通過(guò)代碼和詳細(xì)注釋來(lái)說(shuō)明,需要的朋友可以參考下
    2014-09-09
  • 從使用角度解讀c++20 協(xié)程示例

    從使用角度解讀c++20 協(xié)程示例

    類比線程,線程是個(gè)函數(shù),把這個(gè)函數(shù)交給 創(chuàng)建線程的api,然后這個(gè)函數(shù)就變成線程了,這個(gè)函數(shù)本身沒(méi)有任何特殊的地方,就是普通函數(shù),這篇文章主要介紹了從使用角度解讀c++20 協(xié)程示例,需要的朋友可以參考下
    2023-01-01
  • C++使用expected實(shí)現(xiàn)優(yōu)雅的錯(cuò)誤處理

    C++使用expected實(shí)現(xiàn)優(yōu)雅的錯(cuò)誤處理

    C++ 中提供了很多中方式進(jìn)行錯(cuò)誤處理。無(wú)論是通過(guò)拋異常還是通過(guò)錯(cuò)誤碼,標(biāo)準(zhǔn)庫(kù)都提供相應(yīng)的調(diào)用,今天本文為大家介紹的是使用expected進(jìn)行錯(cuò)誤處理,感興趣的可以了解一下
    2023-06-06
  • C++中 靜態(tài)局部變量實(shí)例詳解

    C++中 靜態(tài)局部變量實(shí)例詳解

    這篇文章主要介紹了C++中 靜態(tài)局部變量實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C指針原理教程之C內(nèi)嵌匯編

    C指針原理教程之C內(nèi)嵌匯編

    在學(xué)習(xí) C 語(yǔ)言內(nèi)嵌匯編的實(shí)驗(yàn)過(guò)程中,發(fā)現(xiàn)內(nèi)嵌匯編極容易造成段錯(cuò)誤。
    2019-02-02

最新評(píng)論

石渠县| 达拉特旗| 鲁甸县| 南溪县| 泸溪县| 石河子市| 安阳县| 千阳县| 西吉县| 通道| 潢川县| 吉安市| 滁州市| 南安市| 文山县| 津市市| 崇阳县| 大埔县| 永德县| 东平县| 永仁县| 高青县| 天门市| 林甸县| 枝江市| 睢宁县| 山东省| 镇坪县| 搜索| 咸宁市| 漳州市| 定兴县| 香河县| 乌兰察布市| 邵阳县| 灵川县| 苗栗市| 麻栗坡县| 区。| 崇阳县| 明水县|