C++ 函數返回數組指針的問題

提醒一下: int *func() { int a[10] = {5}; return a; } 是非法的,因爲 a 是局部變量,被申請在系統棧中,局部變量在函數返回後會被銷燬,於是你返回的指針指向的是一段已經被系統回收的內存,這樣的訪問是非法的。 int *func() { int *a = new int[10]; a[0] = 5; return a; } 是合法的,通過new運算符申請的一
相關文章
相關標籤/搜索