Есть ли способ заставить C ++ struct value инициализировать все переменные-члены POD?

Предположим, у меня есть структура C ++, которая имеет переменные-члены POD и не-POD:

struct Struct {
    std::string String;
    int Int;
};

и чтобы моя программа создавала воспроизводимое поведение, я хочу, чтобы все переменные-члены инициализировались при создании. Я могу использовать список инициализатора для этого:

 Struct::Struct() : Int() {}

проблема в том, как только мне нужно изменить мою структуру и добавить новую переменную-член POD (скажем,bool Bool) Я рискну забыть добавить его в список инициализаторов. Тогда новая переменная-член не будет инициализирована значением во время конструирования структуры.

Также я не могу использоватьmemset() хитрость:

Struct::Struct()
{
   memset( this, 0, sizeof( *this ) ); //can break non-POD member variables
}

потому что зоветmemset() перезаписать уже созданные переменные, не являющиеся членами POD, могут нарушить их.

Есть ли способ обеспечить инициализацию значения всех переменных-членов POD без явного добавления их инициализации в этом случае?

Ответы на вопрос(3)

Ваш ответ на вопрос