C++Primer学习之一引用和指针
生活随笔
收集整理的這篇文章主要介紹了
C++Primer学习之一引用和指针
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.引用
引用是一種復合類型,引用分為左值引用和右值引用,其中右值引用時C++11提出來的,
常說的引用其意為左值引用。注意:引用不是對象,它是一個對象(變量)的別名,不能改變引用的對象,故必須在初始化的確定引用的對象。
?
(1)引用(左值引用)
引用的類型必須和被引用變量的類型一致,但有兩種例外情況。
①const引用
double dval = 3.14; Const int &r1 = dval;其內部轉化為:
Const int temp = dval; Const int &r1 = temp;
temp是一個臨時量,即是一個未命名的對象。所以如果r1不是常量引用,那么即是允許通過引用改變常量了,故C++語言將它歸為非法,編譯報錯。
②C++Primer?p534 // 看到再完善
?
(2)右值引用 // 看到再完善
C++Primer?p471
?
二.?指針
關于const與constexpr見下一篇文章詳細介紹。
(1)指針和const
如:
Const int * const p; // 這里的P是一個常量指針(右邊const確定),指向整形常量(左邊const確定)。
(2)指針和constexpr
如:
Constexpr int *p1; // 這里的p1是一個指向整形常量指針。 Constexpr const int *p2; //這里的p2是指向整形常量的常量指針。
(3)指針和類型別名
如:
typedef char *pstring;? Const pstring ctrs = 0;//cstr是指向char的常量指針? Const char * str = 0; // str是指向const char的指針 Const pstring *ps; // ps是一個指針,它的對象是指向char的常量指針?
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的C++Primer学习之一引用和指针的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA图书管理系统(I/O流实现)
- 下一篇: 关于python读取文件的规则