标签: c++
我最近偶然地写了一些代码,这些代码基本上可以归结为以下内容。看到它编译后,我有些惊讶。在我看来,编译器将看到此分配并意识到尚未声明foo,因此无法将其用于复制构造foo。似乎并非如此,所以我的问题是:
1)执行此行时,幕后实际上发生了什么?
2)分配后foo将是什么?
3)有用吗?
int main() { int foo = foo; return 0; }