C++戻り配列

604 ワード

基礎的なものは、後で間違いを避けるために、覚えておいてください.
サンプルコード:
#include 

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<

まとめ:
1、最初の関数は正確に結果を得ることができません(最初の要素を除いて)、変数の作用ドメインが関数を出してなくなったためです
2、だから2つ目の方法でスタックで使用します.