Это также полезно, если вы хотите повторно инициализировать глобальные или статически распределенные структуры.
Старый способ C использовал memset()
для установки всех элементов на 0. Вы не можете сделать это на C ++ из-за vtables и конструкторов пользовательских объектов.
Поэтому я иногда использую следующие
static Mystruct m;
for(...) {
// re-initialize the structure. Note the use of placement new
// and the extra parenthesis after Mystruct to force initialization.
new (&m) Mystruct();
// do-some work that modifies m's content.
}
Он разделен запятыми
@media (max-width: 600px), (min-width: 800px) {
html { background: red; }
}