この形式のコンストラクター呼び出しが文書化されている場所を知りたいです。この構文は、Visual Studio バージョン 6.0 以降で動作するようです (G++ を使用してコンパイルしないことはわかっています)。
私は代替案を探しているわけではないことに注意してください。それが良いか悪いかを知る必要はありません。
class Foo
{
public:
int m_value;
Foo() : m_value(0) {}
};
Foo o;
o.m_value = 5;
o.Foo::Foo(); // Explicit constructor call!
EXPECT_EQ(0, o.m_value); // True!
この記事を読んでこの構文を最初に見つけました:
http://www.dreamincode.net/forums/topic/160032-finite-state-machines/
この投稿では、次の構文も参照しています。
C++ で別のコンストラクターからコンストラクターを呼び出す (コンストラクター チェーンを実行する) ことはできますか?
この問題について議論している別の投稿: