#include<iostream>
using namespace std;
class Prac{
string ch;
public:
void getstring(string g)
{
ch=g;
return;
}
};
int main()
{
Prac obj1;
Prac obj2;
string str1;
cout<<"Enter string for object 1"<<endl;
getline(cin,str1);
obj.getstring(str1);
cout<<sizeof(obj1)<<endl;
cout<<sizeof(obj2)<<endl;
return 0;
}
Wir wissen, dass die Größe des Objekts die Gesamtgröße der darin enthaltenen Datenelemente ist. Hier für das obj1 fügen wir einen Wert für die String-Variable ein und für obj2 lassen wir es leer. Warum gibt es keinen Unterschied in der Ausgabe (Größe der Objekte)?Größe eines Objekts in C++
"Wir wissen, dass die Größe des Objekts die Gesamtgröße der darin enthaltenen Datenelemente ist." - Nein, das ist nicht wahr. "Warum wird es keinen Unterschied in der Ausgabe geben" - weil die Größe des Objekts nicht von den darin gespeicherten Daten abhängt. – AnT
'std :: string' enthält dynamisch zugewiesenen Speicher, der nicht von' sizeof' gezählt wird – SurvivalMachine