Код: Выделить всё
static_cast(x)Когда переменная является изменчивой, это генерирует избыточную нагрузку. это ": < /p>
для gcc", как "Компиляторы: < /p>
- (для c ++)
Код: Выделить всё
[[gnu::unused]] - (для c/c ++)
Код: Выделить всё
__attribute__((unused))
- @davis-herring (не работает на функции, как есть, но может быть сделано для работы с использованием std :: address, который, поскольку c ++ 17 является contexpr, по цене добавления заголовка. В C, формирование указателя, хотя проще).
Код: Выделить всё
std::ignore = ;< /code> < /li> < /ul> для c ++ 17: < /p> [[maybe_unused]]< /code> < /li> < /ul> Решение в C или C ++: < /p> (void)sizeof aze;
// compile with gcc -O3 -Wall -wextra
void test() {
int volatile aze = 0;
(void)aze;
}
< /code>
Код: Выделить всё
test:
mov DWORD PTR [rsp-4], 0
mov eax, DWORD PTR [rsp-4]
ret
Подробнее здесь: https://stackoverflow.com/questions/796 ... ile-values