国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - C++指針與引用的異同

C++指針與引用的異同

2022-02-23 14:16梁唐 C/C++

這篇文章主要介紹了C++指針與引用的異同,文章以C++指針與引用的相關資料結合指針和引用的相同點和區別展開詳細內容,需要的朋友可以參考一下

1、引用指針的區別

指針和引用的原理非常的相似,所以很多時候尤其是面試的時候經常會拿來比較。

本文來梳理一下引用和指針的一些異同。

1.1 相同點

兩者都是關于地址的概念。

指針本身是一個變量,它存儲的值是一塊內存地址,而引用是某一個內存的別名。我們可以使用指針或引用修改對應內存的值。

1.2 區別

  • 引用必須在聲明時初始化,而指針可以不用

我們無法聲明一個變量引用再給它賦值,只能在聲明的同時進行初始化:

?
1
2
3
int a = 3;
int &b;  // 非法
int &c = a; // 合法

而指針沒有這個限制:

?
1
int *p; // 合法
  • 引用只能在聲明時初始化一次,之后不能指向其他值,而指針可以

引用一旦聲明無法更改,但指針可以。某種程度上來說,引用類似于常量指針。

?
1
2
3
int a = 3;
int &b = a;
int const *p = &a;
  • 引用必須指向有效變量,指針可以為空

這是兩者一個使用上巨大的區別,我們拿到一個引用可以放心地使用, 因為它一定不會為空。而指針則不然,有可能為空指針,必須要經過判斷才能使用。

  • sizeof運算結果不同

sizeof函數可以計算變量內存塊的大小,但如果我們對指針使用sizeof得到的是指針這個變量本身的占用內存大小,而不是指針指向的變量的內存大小。而引用則沒有這個問題。

  • 有指針的引用,但是沒有引用的指針

我們先來看引用的指針:

?
1
2
3
int a = 3;
int &b = a;
int *p = &b;

這段代碼并不會報錯,但如果我們真的去運行了,會發現p就是一個普通的int型指針,它指向的是變量a。因為b是一個引用,它的地址和a相同。所以我們定義一個指向b的指針,實際上就是定義指向a的指針。這也是指向引用的指針不存在的原因。

再來看看指針的引用,指針的引用是存在的,也很好理解,本質上就是指針的一個別名:

?
1
2
3
int a = 3;
int *p = &a;
int *&pt = p;

pt也可以指向別的變量,也可以修改解引用的值,使用上它和p沒有任何區別。

除了上面說的這些之外,指針和引用還在一些細小的方面有一些差別。例如自增和自減的含義不同,指針的自增和自減代表的是指針的移動,而引用的自增自減則是變量的值發生變化。

到此這篇關于C++指針與引用的異同的文章就介紹到這了,更多相關C++指針與引用異同內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

文章轉自 公眾號:Coder梁(ID:Coder_LT)

延伸 · 閱讀

精彩推薦
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 午夜成人影视 | 想看一级毛片 | 亚洲天堂av在线 | 国产黄色av| av片免费看| 色偷偷噜噜噜亚洲男人的天堂 | 亚洲 欧美 另类 综合 偷拍 | 看a网址 | 黄色大片免费网址 | 希岛爱理av一区二区三区 | 欧美视频网站 | 青娱乐自拍偷拍 | 国产精品欧美大片 | 欧美国产日韩一区二区三区 | 91精品国产91久久久久久黑人 | 亚洲欧美日韩在线一区二区三区 | 日韩精品亚洲一区 | 亚洲精品视频在线播放 | 91av在线视频观看 | 亚洲欧美一区二区三区在线 | 欧美视频精品 | 国产在线中文字幕 | 久久草在线视频 | 在线成人免费视频 | 天天干夜操 | 激情五月激情综合网 | 亚洲综合色自拍一区 | 国产精品99久久久久久动医院 | 欧美精三区欧美精三区 | 国产欧美精品一区二区三区四区 | 欧美日视频 | av网址在线播放 | 国产综合一区二区 | 91激情在线 | 久久美女 | 国产一区视频在线看 | 黄色影院在线观看 | 免费成人在线电影 | 日韩国产一区二区三区 | 一道本一区二区三区 | 日韩欧美一区二区三区 |