1. 程式人生 > >C++返回陣列

C++返回陣列

很基礎的東西,避免以後出錯,謹記。

示例程式碼:

#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、所以要使用第二種方式在堆上使用。