尽管我认为这不是一个好习惯,但我使用的编译器(GNU 和 clang)似乎允许以下内容
int f() {return 11;}
class A {
int a = f();
public:
int tell_me() {return a;}
};
即通过调用完全无关的函数来进行大括号或等号初始化。
这是正确的并且是标准允许的吗?执行 最终引入的附带影响又如何f()
呢?