Ключевое слово void и его функции
Изначально ключевое слово void использовалось для поддерживания концепции обобщенных указателей в С++. Этот ключ относится к спецификаторам объявления, но в некоторых языках служит как оператор. Иногда он используется как декларатор функций. Как спецификатор ключ void довольно необычен.
В языке программирования Си ключевое слово void служит для нескольких целей:
Оно указывает на то, что функция не возвращает значения.
void func(foid)
{
…
}
Также оно является показателем того, что функция не принимает параметры.
a = (void)func(n);
В С++ ключевое слово void может быть использовано двумя способами:
В качестве указателя на неопределенный тип. Такой указатель может быть обладателем указателя на любой тип, но обратная ситуация невозможна. На деле использовать указатели типа void не рекомендуется.
void *ptr;
Как указание компилятору о том, что значения вычисленных выражений игнорируются. Это используется в операциях приведения.
void *ptr; // Указатель на void
int i, *ptri; // Целая переменная, указатель на int
ptr= &i; // Допустимо
ptr= ptri; // Допустимо
ptri= (int)ptr; // Допустимо
// ptri=ptr; // Недопустимо
Операция разыменовывания без явного приведения типа не может выполняться над указателем неопределенного вида.