Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

Welchen Vorteil hat der size_t-Datentyp in C++?

NeoZeroCool / 3 Antworten / Baumansicht Nickles

Hi,
warum benutzt man statt "unsigned int" den Datentyp "size_t" z.B. bei Feldgrößen
Spart man damit Laufzeit oder Speicher? Oder handelt es sich einfach nur um ein Relikt aus C?
Dank im voraus

HtM
NZC

bei Antwort benachrichtigen
Anonym NeoZeroCool „Welchen Vorteil hat der size_t-Datentyp in C++?“
Optionen

Ein int ist ein int, ein size_t ist ein size_t...

Vorteil eines eigenen Datentypes für Größenangaben:

Ob 4,8,16,32 oder 64 Bit Maschine size_t ist immer verwendbar ohne
daß man nachdenken muss. Es ist auch sichergestellt, daß der
größte mögliche Datentyp dargestellt werden kann.

Beispiel Horrorszenario: 64 Bit Prozessor, aber 16 Bit "int" Datentyp.
Mit int klappt alles prima, bis Du mal einen wirklich großen Speicherbereich
allozierst.

j. - www.obira.de

bei Antwort benachrichtigen
NeoZeroCool Nachtrag zu: „Welchen Vorteil hat der size_t-Datentyp in C++?“
Optionen

Danke für die Antwort, habs kapiert soweit, sollte mir aber nochmal die Definition von size_t ansehen.
Aber noch ne kleine Zusatzfrage: Wenn durch eine Berechnung ein größerer Wert entsteht als z.B. ein 16 Bit "int" aufnehmen kann, was für einen Wert enthält er dann letzendlich? Ist der Wert rein zufällig oder steckt da System hinter?

HtM
NZC

bei Antwort benachrichtigen
Anonym NeoZeroCool „Danke für die Antwort, habs kapiert soweit, sollte mir aber nochmal die...“
Optionen

Es gibt natürlich ein System. Bei vorzeichenlosen Werten sollte das Ergebnis
Modulo 2^Bitbreite sein. Bei vorzeichenbehafteten auch, aber das
Resultat ist etwas kniffliger zu interpretieren :)

j. - www.obira.de

bei Antwort benachrichtigen