最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C++中關(guān)于指針的知識點

2023-07-14 22:33 作者:虛幻TA超神之路  | 我要投稿
  1. 什么是指針

    在C++中,每定義一個變量,系統(tǒng)就會給變量分配一塊內(nèi)存,內(nèi)存相當(dāng)于系統(tǒng)為存放變量開辟的房間,而且內(nèi)存是有地址的,可以把地址理解成為門牌號。指針就像是把鑰匙,能夠打開與之匹配的大門。所以通過指針,你能訪問與之相對應(yīng)的內(nèi)存空間,修改里面存放的數(shù)據(jù)。在C++中用*(星號)表示指針。

    同時,*運(yùn)算符被稱為間接值或者解除引用(解引用)運(yùn)算符,它用與指針,可以得到該地址的內(nèi)存中存儲的值,*也是乘法符號,C++根據(jù)上下文來確定*的具體含義。


  2. const修飾指針

    1)常量指針:const 數(shù)據(jù)類型 *變量名

    ? ? ? ? ?含義:不能通過解引用的方法修改內(nèi)存地址中的值,用被指向的變量名可以改

    2)指針常量:數(shù)據(jù)類型 *const 變量名(能改值,不能改指向)

    ? ? ? ? ?含義:指向的變量不可改變,但可以修改內(nèi)存地址中的值

    3)常指針常量:const 數(shù)據(jù)類型 *const 變量名(值和指向都不能改)

    ? ? ? ? ?含義:指向的對象不能改變,也不能通過解引用的方法修改內(nèi)存地址中的值


  3. 什么是二級指針

    1)用于存放指針變量的地址

    2)二級指針的語法:數(shù)據(jù)類型 **指針名

    3)應(yīng)用場景:在函數(shù)中,如果傳遞普通變量的地址,形參用指針;傳遞指針的地址,形參用二級指針。把普通變量的地址傳入函數(shù)后可以在函數(shù)中修改變量的值;把指針的地址傳入函數(shù)后可以在函數(shù)中修改指針的值。


  4. 什么是空指針

    2)C和C++中用0或NULL都可以表示空指針,C++11中nullptr也可(建議這樣寫)

    2)注意:如果對空指針解引用,程序會崩潰,所以一定要判空。在內(nèi)存釋放后,應(yīng)將指針指向空


  5. 什么是野指針

    1)野指針就是指針指向的不是一個有效的地址,訪問野指針可能會造成程序崩潰

    2)野指針出現(xiàn)情況: 指針在定義的時候,沒有進(jìn)行初始化,值不確定;若指針指向了動態(tài)分配的內(nèi)存,內(nèi)存被釋放以后,指針沒有置空,但指向的地址已經(jīng)失效;指針指向的變量已超越變量作用域(變量的內(nèi)存空間已被系統(tǒng)回收)

    3)規(guī)避野指針的方法:指針在定義的時候,如果沒地方指,就初始化為nullptr;動態(tài)分配的內(nèi)存被釋放后,將其置為nullptr;函數(shù)不要返回局部變量的地址;使用智能指針


  6. 函數(shù)指針

    1)使用步驟:1.聲明函數(shù)指針 2.讓函數(shù)指針指向函數(shù)的地址 3.通過函數(shù)指針調(diào)用函數(shù)聲明函數(shù)指針時,必須提供函數(shù)類型,函數(shù)類型是指函數(shù)的返回值和參數(shù)列表

    2)語法:

    ? ? ? ? ? int func(int a,string b);

    ? ? ? ? ? int (*pfunc)(int,string);

    ? ? ? ? ? pfunc = func;


  7. 指針的算數(shù)

    指針變量+1后,增加的量等于它指向的數(shù)據(jù)類型的字節(jié)數(shù)


  8. this指針

    1)每個成員函數(shù)(包括構(gòu)造函數(shù)和析構(gòu)函數(shù))都有一個this指針,可以用它訪問調(diào)用者對象的成員。

    2)this指針存放了對象的地址,它被作為隱藏參數(shù)傳遞給了成員函數(shù),指向調(diào)用成員函數(shù)的對象(調(diào)用者對象)


C++中關(guān)于指針的知識點的評論 (共 條)

分享到微博請遵守國家法律
三都| 武乡县| 澄城县| 右玉县| 中牟县| 鄄城县| 环江| 鸡东县| 定边县| 东港市| 奉节县| 阿拉善盟| 龙陵县| 鹤岗市| 称多县| 岳阳县| 泸定县| 西充县| 鹤壁市| 庆元县| 故城县| 广灵县| 山阴县| 兴文县| 姜堰市| 佛冈县| 呈贡县| 莱芜市| 门源| 冷水江市| 保靖县| 蓬莱市| 辛集市| 隆昌县| 巍山| 泽普县| 榆中县| 隆回县| 柳江县| 同仁县| 鄂尔多斯市|