亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++中指向對象的常指針與指向常對象的指針詳解

 更新時間:2013年10月15日 10:16:04   作者:  
如果一個變量已經被聲明成常變量,則只能用指向常變量的指針變量指向它,而不能用一般的(非const型的)指針變量指向它

指向對象的常指針

將指向對象的指針變量聲明為const型,并使之初始化,這樣指針值始終保持為其初始值,不能改變。

復制代碼 代碼如下:

Time t1(10,12,15),t2;
Time * const ptr1=&t1;
ptr1=&t2;

定義指向對象的常指針的一般形式為

類名    *    const    指針變量=對象地址;

注意應該在定義指針變量時使之初始化


指向對象的常指針變量的值不能被改變,即始終指向同一個對象,但可以改變其所指向對象中的數據成員(非const型)的值。

往往用常指針作為函數的形參,目的是不允許在函數執(zhí)行過程中改變指針變量的值,使其始終指向原來的對象。如果在函數的執(zhí)行過程中,修改了該形參的值,編譯系統(tǒng)就會出現錯誤,給出出錯信息,這樣比用人工來保證形參值不被修改更可靠
指向常對象的指針

如果一個變量已經被聲明成常變量,則只能用指向常變量的指針變量指向它,而不能用一般的(非const型的)指針變量指向它。

復制代碼 代碼如下:

const int a;//定義常變量a
const int *p;//定義指向常變量的指針
p=&a;

對于對象也是如此,如果聲明一個對象為常對象,則只能用指向常對象的指針指向它,而不能用一般的(非const型的)指針變量指向它。
復制代碼 代碼如下:

const Time t1;//定義常對象
const Time *p;//定義指向常對象的指針
p=t1;

定義指向常對象的指針變量的格式

const    類名    * 指針名;

有以下幾點需要注意:

(1)一個指向常對象的指針是可以指向一個非const型的對象的,但是指向的對象是不能通過指針來改變的。

而一個常對象只能由指向常對象的指針指向,具體看表:

(2)注意指向常對象的指針和指向對象的常指針的差別
復制代碼 代碼如下:

Time * const p;//指向對象的常指針
const Time * p;//指向常對象的指針

(3)指向常對象的指針最常用于函數的形參,目的是保護形參指針所指向的對象,使他在函數執(zhí)行過程中不被修改。

(4)如果定義了一個指向常對象的指針變量,是不能通過它改變所指向的對象的值的,但是指針變量本身的值是可以改變的。

復制代碼 代碼如下:

const Time *p=&t1;//定義指向常對象的指針變量p,并指向對象t1
p=&t2;//p改為指向t2,合法

相關文章

  • c++結構體排序方式(1條件,多條件)

    c++結構體排序方式(1條件,多條件)

    這篇文章主要介紹了c++結構體排序方式(1條件,多條件),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 深入理解C語言的new[]和delete[]

    深入理解C語言的new[]和delete[]

    new和delete既是C++中的關鍵字也是一種特殊的運算符。這篇文章主要介紹了C++的new和delete詳解,需要的朋友可以參考下
    2021-09-09
  • 基于C語言中段錯誤的問題詳解

    基于C語言中段錯誤的問題詳解

    本篇文章是對C語言中段錯誤的問題進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言實現軍旗游戲的示例代碼

    C語言實現軍旗游戲的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C語言實現軍旗游戲,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • C++中的自定義函數返回類型

    C++中的自定義函數返回類型

    這篇文章主要介紹了C++中的自定義函數返回類型,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C++多線程互斥鎖和條件變量的詳解

    C++多線程互斥鎖和條件變量的詳解

    這篇文章主要為大家詳細介紹了C++多線程互斥鎖和條件變量,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C++類實現通訊錄功能

    C++類實現通訊錄功能

    這篇文章主要為大家詳細介紹了C++類實現通訊錄功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • opencv2實現10張圖像上下左右拼接融合

    opencv2實現10張圖像上下左右拼接融合

    這篇文章主要為大家詳細介紹了opencv2實現10張圖像上下左右拼接融合,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C++動態(tài)規(guī)劃算法實現矩陣鏈乘法

    C++動態(tài)規(guī)劃算法實現矩陣鏈乘法

    動態(tài)規(guī)劃算法通常用于求解具有某種最優(yōu)性質的問題。在這類問題中,可能會有許多可行解。每一個解都對應于一個值,我們希望找到具有最優(yōu)值的解
    2022-06-06
  • 在C++中把字符串轉換為整數的兩種簡單方法

    在C++中把字符串轉換為整數的兩種簡單方法

    經常會遇到類型轉換,本文主要介紹了C++中把字符串轉換為整數的兩種簡單方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06

最新評論