Указатель void : неопределенный тип, приведение указателей

Указатель void

Ключевое слово void в стандарте языка Си используется для указания того, что функция не возвращает значения и не принимает параметров:

 
 
 
 
void func(foid)
{
  …
}

В С++ введены еще 2 способа использования void:

  • в операциях приведения типа для указания компилятору, что значения вычисленного выражения игнорируются:
     
    a = (void)func(n);
  • объявление указателя на неопределенный тип:
     
    void *ptr;
    Такому указателю может быть присвоен указатель на любой тип, но не наоборот

     
     
     
     
     
     
    void *ptr; // Указатель на void
    int i, *ptri; // Целая переменная, указатель на int
    ptr= &i; // Допустимо
    ptr= ptri; // Допустимо
    ptri= (int)ptr; // Допустимо
    // ptri=ptr; // Недопустимо
    Для последней операции необходимо явное приведение типа.

Над указателем неопределенного типа нельзя выполнять операцию разыменования без явного приведения типа.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх