Was includen für std::pair<> ?
-
Hey ho,
ich will in meinem Programm std::pair<unsigned int, void *> verwenden, was muss ich dafür includen?Danke für eure Hilfe im Voraus,
unwissende
-
#include <utility>
-
Geht nicht auch iostream?
-
interpreter schrieb:
Geht nicht auch iostream?
vielleicht, wenn irgend wo in iostream utility includiert wird. Wenn nicht, dann nicht. Vom Standard ist es aber AFAIK nicht so erforderlich und es ist auch nicht sehr wahrscheinlich
-
#include <iostream> #include <utility> //für pair
-
Tjo. Bei meinem Compiler (VS.NET EE) reicht <iostream>
-
danke
-
interpreter schrieb:
Tjo. Bei meinem Compiler (VS.NET EE) reicht <iostream>
und für <map> reicht <list>, für <list> reicht <functional> und für <alogrithm> reicht <new> ...
-
Shlo schrieb:
interpreter schrieb:
Tjo. Bei meinem Compiler (VS.NET EE) reicht <iostream>
und für <map> reicht <list>, für <list> reicht <functional> und für <alogrithm> reicht <new> ...
Nö
-
Hallo,
ums nochmal klarzustellen: Der C++ Standard legt nicht fest, welcher Standard-Header welche anderen Standard-Header inkludiert. Der Standard legt nur fest, welche Funktionen/Klassen in welchem Header definiert werden müssen.
Wenn auf einer Platform A <iostream> also <utility> einbindet, dann ist das eine Entscheidung die die Bauer von Platform A getroffen haben, die aber keinesfalls portabel ist. Platform B kann sich da wieder ganz anders verhalten.Kurz: Wer portablen Code schreiben will, verlässt sich nicht auf irgendwelche unspezifizierten Include-Beziehungen sondern inkludiert explizit die Header, die die Definitionen der verwendeten Klassen enthalten.