Grösse von int Pointern
-
hi,
könnt ihr mir sagen wie viele bytes pointer vom typ int im speicher belegen? oder habt ihr vielleicht dafür irgendwo ne tabelle? für pointer hab ich bis jetzt nix gefundengrüsse busta
-
cout<<"Ein pointer vom Typ int belegt exakt "<<sizeof(int*)<<" Bytes\n";
-
Ein Pointer ist IMO immer gleich groß, egal auf was er zeigt. Und zwar die Wortbreite des Prozessors. Korrigiert mich...
-
Ein Pointer ist IMO immer gleich groß, egal auf was er zeigt. Und zwar die Wortbreite des Prozessors. Korrigiert mich...
Es gibt plattformen mit einem Segment+Offset-System. Da gibts dann near und far-pointer, wobei near-pointer kleiner sind.
-
ok danke... sizeof hatte ich ganz vergessen sry
grüsse busta
-
sry das ich nochmal frage, aber was ist die grösse eines eintrags in einer map<string,int> , oder kann man das net direkt sagen?
grüsse busta
-
busta schrieb:
sry das ich nochmal frage, aber was ist die grösse eines eintrags in einer map<string,int> , oder kann man das net direkt sagen?
sizeof(std::pair<std::string, int>)
-
danke!!!
grüsse busta
-
Aber denk drann, das beispielsweise der String (std::string) auchnoch irgendwo anders Daten hat, was sizeof natürlich nicht berücksichtigt.
-
was meinste jetzt damit?
grüsse busta
-
Dass sizeof nur die Größe des Objektes liefert, nicht aber dynamischen Speicher, den das Objekt brauchen kann, berücksichtigt. sizeof steht zur Compilezeit fest.
-
class Beispiel { Beispiel () : m_foo (new char[1000]) {} ~Beispile () { delete [] m_foo; } private: char * m_foo; }; ... cout << sizeof(m_foo) << '\n';
Die Ausgabe wird 4 sein (bei 32Bit Compilern), obwohl das Objekt 1000Byte mehr belegt.
-
achso, ok danke ich glaub ich habs verstanden
grüsse busta