指標和引用

2021-07-11 02:54:38 字數 636 閱讀 4639

#include 

using namespace std;

void swap(int p,int

q)void swap2(int

*p,int

*q)void swap3(int

*p,int

*q)void swap4(int

*p,int

*q)void swap5(int &p,int &q)

int _tmain(int argc, _tchar* argv)

##解析

swap1傳的是值得副本,函式本身確實是修改了形參p,q,但是pq是區域性變數函式的結束意味著p.q生命週期的結束。不會影響到主函式的a,b.

swap2傳遞的是位址,但是

int *temp;

*temp=*p;

有語法錯誤,int *temp;定義了乙個整形的指標但是沒有初始化。

*temp=*p;給乙個沒有初始化的指標賦值,這是不符合語法的。所以swap2的呼叫會引起記憶體訪問的錯誤。

swap3其實是交換了兩個指標所指向的內容,但是沒有交換a,b的值。

4和5是正確的答案。

指標和引用,const 指標和const 引用

指標和引用是在使用中經常弄混淆的兩個概念。引用 reference 為物件起了另外乙個名字,用符號 表示。name,例如 int i 1024 int ref i 一般在初始化變數時,初始值會被拷貝到新建立的物件中,然而定義引用時,程式把引用和它的初始值繫結 bind 在一起,而不是將初始值拷貝給引...

指標和引用

一 先看一段 include using namespace std void freeptr1 int p1 void freeptr2 int p2 void main 思考 在 freeptr1 和freeptr2 的比較中,你能發現它們的不同點嗎?二 對 進行解釋 include using...

指標和引用

指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要認識到在任何情況下都不能使用指向空值的引用。乙個引用必須總是指向某些物件。因此如果你使用乙個變數並讓它指向乙個物件,但...