Bin grad beim compilieren eines alten Programms mit -pedantic drüber gestolptert und frage mich grad mal warum die den Typ aus dem Standard verbannt haben.
Sie haben diesen Typen nicht verbannt, sondern einfach nicht aufgenommen. long long ist lediglich im C99 standard; im C++ Standard aus dem Jahr zuvor war es einfach nicht drin. Der G++ hat entsprechende Optionen, um die Fehler/Warnungen bzgl. long long zu unterbinden. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)
Naja soweit so gut, kleiner Irtum . Aber warum hat man ihn nicht aufgenommen ? Ich weiss das der G++ solange man nicht mit -pedantic compiliert nix daran tut, aber ich frag mich schon warum er rausgenommen wurde.
naja schätz mal ist so wie bei vielen dingen in dem C oder auch C++ "Standard". Wenn die sich nicht einigen konnten hat mans halt einfach nicht aufgenommen So in der Art "bevor wir da jetzt lang rumstreiten, kehren wir das doch einfach untern Tisch und machen mit dem nächsten Punkt weiter" -- class God : public ChuckNorris { };
C++ basiert auf C89 - C99 gab es 1998 halt einfach noch nicht. Steht im Standard auch vorne drin, irgendwas von "Wo unklar, schau nach im C89-Standard", nur etwas bürokratischer verklausuliert. C89 kennt long long nicht, und C++ hat das von C geerbt. Der nächste C++-Standard wird voraussichtlich auf C99 aufbauen und long long damit auch kennen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Es gab bisher nur einen C++-Standard, der wurde 1998 rausgegeben. 2003 wurde der nochmal veröffentlicht, mit ein paar Klarstellungen, die sich im Laufe der Jahre herausgebildet haben, aber ohne Neuerungen - das wird manchmal als C++03 missverstanden. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra