011
13.11.2009, 18:02 Uhr
0xdeadbeef
Gott (Operator)
|
Funktionell ist der Unterschied zwischen int und std::size_t im Wesentlichen, dass std::size_t vorzeichenlos ist. Konzeptionell ist std::size_t im Standard als Typ für Größenangaben vorgesehen und wird in der ganzen Bibliothek benutzt. sizeof gibt std::size_t zurück, new erwartet std::size_t, Die Allokatoren benutzen std::size_t als Größentyp (und dementsprechend auch die Default-Konkretisierungen der Container). Es macht deshalb Sinn, sich daran zu halten, um nicht an merkwürdigen Stellen merkwürdige Effekte auszulösen - zum Beispiel
C++: |
int x;
std::cin >> x;
int *p = new char[x];
|
...wenn der Benutzer -1 eingibt.
Was die verkettete Liste angeht, das musst du nicht von Hand machen.
C++: |
#include <list>
// ...
std::list<Neurotransmitter> transmitter_liste;
|
tut's auch, und du musst dich dann nicht selbst um die Freigabe kümmern. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 13.11.2009 um 18:05 Uhr von 0xdeadbeef editiert. |