У меня есть несколько больших структур, я размещаю все нетривиальные типы внизу и использую offsetof для memset, который его очищает. Поскольку он настолько велик, мне не нужна индивидуальная инициализация, плюс он должен поддерживать старые компиляторы, которые могут не поддерживать новые методы инициализации, такие как {} в определении.
Можно ли хотя бы использовать memset в конструкторе без предупреждения, поскольку он знает себя? Это просто вопрос приведения его к (void*) или компилятор должен быть достаточно умен, чтобы разрешить это с помощью memset(this, 0, offsetof(whatever,whatever));
Я думаю, мне нужна текущая лучшая практика в сочетании с поддержкой старых компиляторов.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ctures-and
Мобильная версия