Witam,
mam dosc proste pytanie:
Dlaczego rozmiar klasy w bajtach nie zwieksza sie gdy zadeklarujemy w niej metode? czy klasa nie musi posiadac chociazby adresu do tej funkcji?
przykladowy kod:
class C
{
float bla; //zwieksza rozmiar
int *ptr; //zwieksza rozmiar
int (*prt_f)(int); //zwieksza rozmiar
int f() //nie zwieksza DLACZEGO??
{bool a;}
};
int _tmain(int argc, _TCHAR* argv[])
{
std::cout<<sizeof(C)<<std::endl; //wynik 12
C c;
std::cout<<sizeof(c); //12
return 0;
}
I moje drugie pytanie:
Dlaczego rozmiar klasy pustej rowna sie 1?? Jak zapewne zauwazyliscie uzywam VC.