Aşağıdaki kodu hakkında karıştı:Neden bu C++ kodunda i == 0 değeri var?
#include <iostream>
int i = 1;
int main()
{
int i = i;
std::cout << "i: " << i << "\n";
return 0;
}
Çıktı: Yukarıdaki kod çalıştıran beklediğinden
i: 0
1
basacaktır. Birisi bu garip davranışların nedenini açıklayabilir mi?
başlatılmamış kullanılan uyarı, genellikle UB bu. – Maroun
"main.cpp: 13: 13: Variable 'i" uyarısı, kendi başlatılmasında kullanıldığında başlatılmamış: mantıklı bir derleyici tarafından verilen, sorun hakkında bir ipucu olabilir, belki de uyarı seviyenizi sıkın ve onların tavsiyelerine kulak verin. – WhozCraig
int i = i; 'yi atadığınızda, az önce belirttiğiniz değerle, yani tanımlanmamış bir değerle başlatılır. –