2010-12-16 5 views
3

Also std :: cout ist ein Objekt. Mein Zweifel ist wie/wo ist es konstruiert/instanziiert.Wie ist das Objekt std :: cout konstruiert/instanziiert

Danke.

+2

In der Bibliothek irgendwo, wo Sie keinen einfachen Zugang zu haben. Denken Sie daran, dass Sie nicht garantieren können, wie * es * aufgebaut ist, sondern nur, was es tut und was es tut – Robert

Antwort

4

Es wird von ios_base::Init konstruiert. Das erste Mal, dass das Objekt erstellt wird, werden cout und Freunde erstellt. Wenn das letzte Objekt zerstört wird, werden cout und Freunde gelöscht (Aufruf .flush()).

In C++ 0x sichergestellt werden, dass, wenn Sie <iostream> umfassen, und die Verwendung von cout und Freunde nach dem #include wird cout Gebrauch konstruiert und Freunde Objekte. In C++ 03, es wird gesagt, dass

Die Objekte aufgebaut sind, und die Verbände zu einem bestimmten Zeitpunkt vor oder während des ersten Mal ein Objekt der Klasse etabliert ios_base::Init aufgebaut ist, und auf jeden Fall vor dem Körper von main beginnt die Ausführung.

Verwandte Themen