iostream对象cin,cout,cerr和clog是iostream头中声明的对象。
我知道在某些编译器中可能会在构造它们之前尝试使用这些iostream对象,所以在某些情况下它们必须受到“静态初始化命令惨败”的影响。在那些使用std :: cout等人总是安全的编译器中,这些对象如何实际构建?它是否涉及引擎盖下的编译器魔法,或原则上它是否都可以用标准C ++完成?
std :: cout等似乎是全局变量或单身:为什么全局变量和单身人士通常被认为是邪恶但似乎不是在这种特殊情况下?
答案 0 :(得分:5)
没有编译魔术。