次のような単純な構造体があるとしましょう。
struct Simple
{
int weight;
std::string name;
float power;
};
コンストラクターを作成せずに、パラメーターを個別に設定することなく、これらのいずれかを初期化できるようにしたいと考えています。たとえば、次のような構文を夢見ています。
Simple s( 4, "bill", 3.1f );
...多分...
Simple s = { 4, "bill", 3.1f };
...または本当に...
Simple s{ 4, "bill", 3.1f };
最初の例は、独自のブレインデッド コンストラクターを追加することで機能することがわかっています。面倒。
同様に、最後の例は C++11 でも機能しますが、コンストラクターを提供する必要があると思います。
コンストラクターを提供することなく、C++ で構造体を簡単かつエレガントに初期化する方法はありますか?