日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

返回函数局部变量的指针和引用

發(fā)布時(shí)間:2025/6/15 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 返回函数局部变量的指针和引用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

返回函數(shù)局部變量的指針和引用是不允許的,容易造成野指針。不管是通過返回值或者出參返回局部變量的指針都是不允許的。

但針對(duì)各種情況,可以具體研究一下返回函數(shù)指針和引用的異常情況。

?

例子1:

#include <iostream>
using namespace std;


void ChangePoint(int **p2)//入?yún)㈩愋蜑橹赶蛑羔樀闹羔槨?br /> {
?int num = 8;
?*p2 = &num;/
?p3 = ChangePoint3();
?ChangePoint(&p2);
?cout << *p1 <<' '<< a << ' '<<*p2 << ' '<< *p3;
?return 0;
}

不能返回局部變量的引用給一個(gè)引用變量。但是如果返回引用給一個(gè)相關(guān)的非引用變量的話是可以的。

例子2:

#include <iostream>

using namespace std;

int& fun()
{

?int i = 100;

?return i;

}

void test()
{
?int i = 0;
}

int main()
{
//?int& a = fun();//返回的是局部變量i的引用,即地址,有問題。相當(dāng)于int &a = i;?
?int a=fun();//返回的是局部變量i的值,沒有問題,相當(dāng)于int a = i;

//?test(); //此處由于fun后沒有其他代碼,所以輸出值沒問題,若將test函數(shù)打開,則a的值會(huì)有問題。

?cout << a << endl;

?return 0;
}

可以參考:

http://topic.csdn.net/u/20120729/11/823C8AE6-691D-4BAB-A874-971836CF00C4.html

總結(jié)

以上是生活随笔為你收集整理的返回函数局部变量的指针和引用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。