Работа с объектом очистки memset нетривиального типа на больших структурах и поддержка старых компиляторовC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Работа с объектом очистки memset нетривиального типа на больших структурах и поддержка старых компиляторов

Сообщение Anonymous »

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

Подробнее здесь: https://stackoverflow.com/questions/797 ... ctures-and
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»