C++ 临时(右值)存储在哪里?

C++ 临时(右值)存储在哪里?,c++,C++,考虑以下代码 #include<bits/stdc++.h> using namespace std; int main() { long long int n, i, j, max1 = -1000000000, max2 = -1000000000; cin >> n; long long int a[n]; for (i = 0; i < n; i++) { cin >> a[i];

考虑以下代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    long long int n, i, j, max1 = -1000000000, max2 = -1000000000;
    cin >> n;
    long long int a[n];
    for (i = 0; i < n; i++)
    {
        cin >> a[i];
        if (a[i] > max1)
            max1 = a[i];
        j = i;
    }
    for (i = 0; i < n; i++)
    {
        if (a[i] > max2 && i != j)
            max2 = a[i];
    }
    cout << max1*max2;
}
#包括
使用名称空间std;
int main()
{
长整型n,i,j,max1=-100000000,max2=-100000000;
cin>>n;
长整型a[n];
对于(i=0;i>a[i];
如果(a[i]>max1)
max1=a[i];
j=i;
}
对于(i=0;imax2&&i!=j)
max2=a[i];
}

CUT< P> <代码> VLA的标准C++。通常你需要发布可编译的代码,并允许我们复制这个问题。
int n=13;
int nn= sqrt(n*(n+1)*-n+5));