assert() nicht in std::?
-
Um es gleich zu sagen, ich kenne den Unterschied zwischen include <stdlib.h> und <cstdlib>, baer mir ist da gerade etwas komisches aufgefallen:
Wenn ich <cassert> include, sollte assert() ja eigentlich in std:: liegen, das tut es aber nicht.
Es ist, als würde ich "using namespace std;" davor schreiben, oder gleich assert.h includen.Im der Datei cassert steht auch nichts von namespace std, es wird bloß ein #pragma gesetzt und assert.h includet.
Schreibt da der Standard was besonderes vor, oder stimmt da irgendwas beim GCC nicht?
-
assert ist ein Makro und deshalb kann es nicht in einem Namespace sein.
-
Oh, das wusste ich nicht.
Naja, danke^^