宣佈我知道這不會起作用,因爲當函數返回時變量x被破壞:返回指針數據功能
int* myFunction()
{
int x = 4; return &x;
}
讓我怎麼正確地返回一個指向我在函數中創造的東西,我需要注意什麼?我如何避免內存泄漏?
我也用的malloc:
int* myFunction2()
{
int* x = (int*)malloc(sizeof int); *x = 4; return x;
}
你如何正確地做到這一點 - 在C和C++?
你說得對,答案是'myFunction2()'你只需要記住稍後釋放你的記憶。這就是沒有垃圾收集器的問題 – tzenes
再次,雖然C和C++共享許多功能,但根據語言的不同,有很多問題的答案完全不同。如何避免內存泄漏是其中之一,因爲它是如何在函數內部創建內容的......您真正感興趣的語言是什麼? –