亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++引用和指針有哪些區別

發布時間:2020-11-10 10:42:47 來源:億速云 閱讀:186 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關c++引用和指針有哪些區別的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

區別:1、指針有自己的一塊空間,而引用只是一個別名;2、指針在使用中可以指向其它對象,但是引用只能是一個對象的引用,不能被改變;3、指針可以有多級指針(例**p),而引用至于一級;4、指針和引用使用“++”運算符的意義不一樣。

1、變量

首先最重要的,variable的定義,當你申明一個變量的時候,計算機會將指定的一塊內存空間和變量名進行綁定;這個定義很簡單,但其實很抽象,例如:int x = 5; 這是一句最簡單的變量賦值語句了, 將5賦值于名字叫做x的內存空間,其本質是將值5賦值到一塊內存空間,而這個內存空間名叫做x。

c++引用和指針有哪些區別

變量在內存中的操作其實是需要經過2個步驟的:

  • 找出與變量名相對應的內存地址。

  • 根據找到的地址,取出該地址對應的內存空間里面的值進行操作。

2、指針

指針的特殊之處在于:指針變量相對應的內存空間存儲的值恰好是某個內存地址。這也是指針變量區別去其他變量的特征之一。例如某個指針的定義如下:

int x = 5;
int *ptr = &x;

ptr即是一個指正變量名。通過指針獲取這個指針指向的內存中的值稱為解引用。空指針是不能解引用的。

指針內存空間的表示如下:

c++引用和指針有哪些區別

3、引用

引用(reference)在C++中也是經常被用到,尤其是在作為函數參數的時候,需要在函數內部修改更新函數外部的值的時候。首先我們必須明確的一點就是:引用是一種特殊的指針。

引用是一個指向其它對象的常量指針,它保存著所指對象的存儲地址。并且使用的時候會自動解引用,而不需要像使用指針一樣顯式提領。

例如引用的定義如下:

int x = 5;
int &y = x;

4.指針和引用的區別總結

  • 指針有自己的一塊空間,而引用只是一個別名;

  • 使用sizeof看一個指針的大小是4,而引用則是被引用對象的大小;

  • 指針可以被初始化為NULL,而引用必須被初始化且必須是一個已有對象的引用;

  • 作為參數傳遞時,指針需要被解引用才可以對對象進行操作,而直接對引用的修改都會改變引用所指向的對象;

  • 指針在使用中可以指向其它對象,但是引用只能是一個對象的引用,不能被改變;

  • 指針可以有多級指針(**p),而引用至于一級;

  • 指針和引用使用++運算符的意義不一樣;

  • 如果返回動態內存分配的對象或者內存,必須使用指針,引用可能引起內存泄露。

感謝各位的閱讀!關于c++引用和指針有哪些區別就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

库尔勒市| 屏边| 建德市| 张家口市| 乐清市| 凤山市| 永济市| 高阳县| 彩票| 巩义市| 上高县| 化德县| 兴义市| 漳浦县| 柞水县| 宜兴市| 个旧市| 汉沽区| 左云县| 瑞昌市| 巴中市| 资源县| 临清市| 永靖县| 海南省| 南岸区| 宁明县| 平阴县| 神木县| 洪雅县| 丽水市| 天长市| 玛纳斯县| 从化市| 根河市| 华池县| 通城县| 义马市| 苏尼特左旗| 崇文区| 慈溪市|