*
FlashBurn schrieb:
Naja, ich würde es vorziehen wenn man eindeutig definierte Typen hätte (z.B. uin8, int8, uint16, int16, ...) ohne das durch Testen (und ich will auch keine Header-Dateien vom Compiler, das muss Compiler unabhängig sein) herauszufinden und size_t müsste auch ein Standardtyp sein (so wie int, char, ...) und wäre dann so groß wie ein sizeof(void*).
In C und C++ ist das nun einmal so, daß typedefs keine eigenen Typen definieren, aber size_t ist immer definiert, wenn man den passenden Header inkludiert. Ich sehe da nicht das große Problem, Fehlermeldungen sind nicht unbedingt so transparent wie sie sein könnten, und man hat leider keine Typunterscheidung die man zuweilen gebrauchen könnte.
FlashBurn schrieb:
Es geht mir auch nicht darum das size_t eine festgelegte Größe hat (naja irgendwo schon ;)), sondern dass ich size_t Compiler unabhängig nutzen oder definieren kann.
Das ist eindeutig der Fall! Man muß sich daran gewöhnen, daß size_t niemals eine exakte Größe besitzt, da dieser Typ immer den ganzen möglichen Adreßraum für vom Nutzer anforderbaren Speicher besitzt.
FlashBurn schrieb:
Wenn ich jetzt nen int auf ner 32bit Architektur habe und der ist dort 4Byte groß und ich arbeite z.B. mit dem Überlauf und portiere den Code dann auf eine 64bit Architektur und dort ist int mit einmal 8Byte groß und schon funktioniert mein Code nicht mehr, weil die Typen halt nicht eindeutig definiert sind.
Ein int ist üblicherweise ein word groß. Und ein word ist nun einmal ein maschinenabhängiges Konstrukt. Wenn man ohne OS und spezieller Laufzeitumgebung Systeme programmieren will, muß man solche Dinge nun einmal kennen. Auch auf Plattformen mit OS muß man diese Kenntnis haben, wenn man möglichst nah an der Maschine arbeiten will. Zudem wird in den Header alle Notwendigen Informationen definiert, wie groß der jeweilige Typ in Wirklichkeit ist.
FlashBurn schrieb:
Kritik ist meiner Meinung immer angebracht, Problem hier (C++) ist halt nur das man die Kritik nur schwer an die richtigen Stellen bekommt
In diesem Fall ist keine Kritik angebracht, denn Du willst die Quadratur des Kreises haben, und das ist nicht möglich.