0
int * addition(int arr[])
{
int sum=0;
for(int i=0;i<4;i++)
sum+=arr[i];
return ∑
}
int main()
{
int arr[4]{1,3,4,5}, * ptr=addition(arr);
cout<<*ptr<<endl;
return 0;
}
böylece değişken kısa sürede fonksiyon dışı program kontrol hamle olarak imha edilmelidir ama yine de çıkış 13
veriyor fonksiyonu addition
için yerel. Niye ya?C++ işlevinin dışındaki yerel değişkene bu kod nasıl erişiyor? Değişken <code>sum</code> gibi
Compiler: g++ 4.8.2 on Ubuntu 14.04 LTS
Hayır, -O3 seviye optimizasyonu ile çalışmıyor. Niye ya? –