c 的引用 常量引用

2021-10-20 15:45:41 字數 1164 閱讀 8953

c++中的引用不用考慮太多解引用的東西

#include

using

namespace std;

void

func

(int

& ref)

intmain()

在c++中,int& ref = a等價於int* const ref = &a,也就是說ref直接存的是a的位址。

但是實際上想要對ref的值進行修改的話,是不需要解引用的。(即*ref

ref =20;

// 正確

直接進行賦值就行,因為c++預設解引用。

至於想要改變ref指定的位址值是不可以的,正如上面所說,它相對於int* const ref = a,const是不能修改的。

#include

using

namespace std;

intmain()

引用是不能直接賦予常量的,照常理來講,應該只能給給予位址空間。

但是為什麼const int & ref = 20可以呢?

事實上const int & ref = 20等價於int temp = 20; const & int ref = temp,原名讓編譯器給了,我們只能知道別名ref。但是同時的,ref上的值已經不能修改了。

有時候,為了避免函式修改某個變數的值,在使用引用傳遞的時候,使用const來避免。

(比如在**量很多的情況下,忘記了某個函式只是showval或者單純遍歷,加上const就可避免修改函式外局的變數)

#include

using

namespace std;

void

showval

(int

& val)

void

showval1

(const

int& val)

intmain()

C 引用與常量

一 引用 1.引用格式 a.型別名 變數名 另乙個變數 b.試例 includeusing namespace std intmain 2.常引用 int n const int r n 然後呢,r就不能用來改n了 二 常量 1.基本用法 const int n 12 2.常量指標 const in...

C 的引用與常量

int a 10 int b a 其實在編譯時,編譯器會將 int b a 變為 int const b a 由於int const 所修飾的變數必須要賦初值,且由於const 修飾的 b 所以表示b指標是無法修改的,即b指標無法指向另乙個指標,所以這也驗證了引用必須賦初值的原因。附 關於如何引用陣...

C 中的常量引用

有指標常量和常量指標 那麼有沒有引用常量和常量引用呢?答案是,沒有引用常量 引用有常量引用和普通引用。要區分常量和常量引用的區別 引用作為形參時,形參的位址其實就是對應實參的位址 但是如果形參為常數時,則會為形參重新分配空間 常量引用的定義方式 int b const int a b 或者int b...