私はのi
のタイプがint&
であることを知っています。そのため、初期化する必要があります。main()の下の「i」のタイプ。なぜそれはint&ですか?
int& f(){ static int i = 1; return i; }
int main()
{
decltype(f()) i = f();
}
しかし、標準で段落5p5
を使用して、私は参照が削除されたとして表現f()
がint
入力したと結論付けています。
7.1.6.2p4
から、f()
という式は、関数のreturnから参照が削除されているため、左辺値であるとはどういうことが言えますか?
これは、C++ 14の 'decltype(auto)'機能がどのように機能するかに注意してください。 – PlasmaHH