Если у меня есть структура определяется таким образом, как следующее:Компилятор оптимизирует структуры размером 0?
struct blank {
int : 0;
};
Будет ли оптимизируют компилятор это ни к чему во время выполнения?
Я спрашиваю из-за this rather popular SO question. Я хотел бы использовать аналогичные проверки времени компиляции в моем собственном коде C/C++. Я пытаюсь сделать программу максимально оптимальной, поэтому я не хочу, чтобы эти пустые структуры зависали во время выполнения, если я только собираюсь использовать их для проверки времени компиляции.
На стороне примечания есть ли C++ - идиоматический способ достижения такого же результата, как в ссылке?
Какая проверка времени компиляции разрешает C? Кажется, это вопрос только на C++, retagging – Potatoswatter
@Potatoswatter: C __does__ позволяет проверять время компиляции. Например, можно реализовать static assert в C. – 2013-02-22 00:38:40
Профилируйте ли вы и узнаете, что ваша программа тратит большое количество времени на создание экземпляров пустых структур? Если нет, * почему вас это волнует? * –