我有一个程序分成两个源文件:
< p> example.cpp
这个程序的输出是否保证是:
在所有平台和编译器上都是这样吗?如果是,标准在哪里说了这个?如果我使用命名空间,并且
#include <iostream>
class A {
public:
A(int x) {
::std::cout << "In A(" << x << ")\n";
}
};
static A first(1);
static A second(2);
example__main.cpp
int main(int argc, const char *argv[])
{
return 0;
}
这个程序的输出是否保证是:
In A(1)
In A(2)
在所有平台和编译器上都是这样吗?如果是,标准在哪里说了这个?如果我使用命名空间,并且
first
和second
出现在不同的命名空间中,是否会有影响?如果它们不是静态的,并且我使用匿名命名空间呢?