C++返回陣列
阿新 • • 發佈:2018-12-12
很基礎的東西,避免以後出錯,謹記。
示例程式碼:
#incude <iostream> using namespace std; int* getArr1() { int ar[3]; for(int i=0;i<3;i++) { ar[i] = i; } return ar; } int* getArr2() { int *ar = new int[3]; for(int i=0;i<3;i++) { ar[i] = i; } return ar; } int main() { int *arr = getArr2(); for(int i=0;i<3;i++) { cout<<arr[i]<<endl; } return 0; }
總結:
1、第一個函式是不能正確獲取到結果的(除了第一個元素),因為變數作用域出了函式就沒有了
2、所以要使用第二種方式在堆上使用。