将变量初始化为自身时会发生什么?

时间:2019-08-01 21:00:53

标签: c++

我最近偶然地写了一些代码,这些代码基本上可以归结为以下内容。看到它编译后,我有些惊讶。在我看来,编译器将看到此分配并意识到尚未声明foo,因此无法将其用于复制构造foo。似乎并非如此,所以我的问题是:

1)执行此行时,幕后实际上发生了什么?

2)分配后foo将是什么?

3)有用吗?

int main()
{
    int foo = foo;

    return 0;
}

0 个答案:

没有答案