多くの Q&A を確認しましたが、この質問に対する明確な答えが見つかりません。
このようなクラスの場合:
class A {
public:
int i;
inline A() : i() {}
};
プレーンな C++98 では、宣言時にデフォルトの (引数のない) コンストラクターを最もコンパクトな方法で呼び出すことを保証するにはどうすればよいですか?
A a; //Is this guaranteed to call the default (argument-less) constructor?
A b(); //This is not what I want, the compiler thinks it's a function declaration
//http://stackoverflow.com/a/877538/2436175
A c = A(); //This I know it works
(価値があるので、ここで試してみました。この場合は機能しましたが、スタックにどの値があったかは誰にもわかりません...)
注: 最終的にクラス A は、例に示されているものよりも複雑にする必要があります。