что тут значит void ?
void * это универсальный указател, который может указывать на объект любого типа данных. нет, void param является ошибкой
void в сигнатуре функции означает нет возврата данных от функции, если же ты объвляешь указатель на void* то это означает, что этот указатель может принимать на хранение любой адрес в памяти, без разницы какой тип там в этой памяти есть или будет когда нибудь.
У void есть где-то 3 специальных случая использования. void буквально значит отсутствие типа данных. Поэтому нельзя создать переменную типа void. Используется для указания, что функция ничего не возвращает. Для указания пустого списка параметров, в C++ это устаревший метод. Можно сделать указатель, который не имеет данных о типе данных, на который он указывает.
Есть какая-то хитрость с шаблонным параметром, у Владимирова было. Возможно, третий случай - про это
Я отредактировал сообщение, возможно, это будет 4 случай.
еще можно проигнорить переменную (void)perem; и компилятор больше не ругается о неиспользованной переменной
О, да, я писал у себя про такое использование). Но я бы использовал всё равно [[maybe_unused]], так более понятно будет.
а это есть в стандарте? я думал только в гсс и шланге
5) всякие хитрые выводы типов и защита от перегрузка запятой
Обсуждают сегодня