Kodun altında, 32-bit pencerelerde, görsel stüdyonda çalışıyor.Sınıf içerisindeki referans değişkeni neden her zaman 4 byte alıyor? (32-bit sistemde)
template <class T>
class Test
{
public:
T &ref;
Test(T &x)
:ref(x)
{}
};
int main()
{
cout<<"sizeof Test<int> : "<<sizeof(Test<int>)<<endl;
cout<<"sizeof Test<double> : "<<sizeof(Test<double>)<<endl;
cout<<"sizeof Test<char> : "<<sizeof(Test<char>)<<endl;
}
Çıktı: referans tipine sınıf irrespect içinde referans değişken için 4 bayt veren
sizeof Test<int> : 4
sizeof Test<double> : 4
sizeof Test<char> : 4
Derleyici. Değişken değer bu 4 baytta saklanamaz.
Bu 4 baytta hangi bilgi derleyicisi depolanacak?
dahili olarak referans adresini saklıyor mu? Böylece referans ve referanslar birbirleriyle senkronize olmak için aynı yere yazabilirler.
Yoksa sembol tablosunda referans ismini mi saklıyor?
Doğru. OP farkı görmek için 64-bit'e geçmeyi deneyebilir. –