C++ 从函数或方法返回内存 实现返回多个变量
生活随笔
收集整理的這篇文章主要介紹了
C++ 从函数或方法返回内存 实现返回多个变量
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
實(shí)現(xiàn)
在函數(shù)中定義一個(gè)指針,程序運(yùn)行時(shí)(而非編譯時(shí))給這個(gè)指針動(dòng)態(tài)分配一塊內(nèi)存空間,指針指向這塊內(nèi)存的起始地址。
分析
這塊動(dòng)態(tài)分配的空間存儲(chǔ)的內(nèi)容:
第一個(gè)字節(jié)存儲(chǔ)整個(gè)數(shù)組的長(zhǎng)度count
后面的字節(jié)存儲(chǔ)數(shù)組應(yīng)該存放的int型數(shù)字
所有這些內(nèi)存均通過指針的偏移*(p+i)訪問
讓函數(shù)返回一個(gè)指針p,即這段動(dòng)態(tài)內(nèi)存的首地址
這樣就可以在main函數(shù)中訪問這些地址
注意
任何一個(gè)函數(shù)都不應(yīng)該把自己的局部變量的指針作為他的返回值。因?yàn)榫植孔兞吭跅@?#xff0c;函數(shù)結(jié)束會(huì)自動(dòng)釋放。
如果你想讓一個(gè)函數(shù)在不會(huì)留下任何隱患的情況下返回一個(gè)指針,那他只能是一個(gè)動(dòng)態(tài)分配的內(nèi)存塊的基地址。
代碼
總結(jié)
以上是生活随笔為你收集整理的C++ 从函数或方法返回内存 实现返回多个变量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++运算符重载 实现有理数(分数)的加
- 下一篇: C++ 避免内存泄漏