2012-03-30 2 views

ответ

7

Он бросает CV указатель на int, разыменовывает сказал указатель и присваивает указываемый int значения 0.

Here's a demo. Также в этой ситуации (int)0 такой же, как 0, поэтому его можно изменить, чтобы сделать вещи немного проще.

3

Сначала он вводит CV в указатель int, а затем устанавливает целое число, на которое оно указывает на ноль.

Литье 0 на самом деле не требуется.

Вы часто видите его в таких ситуациях, как:

void setIntWithVoidPtr (void *p) { 
    *((int*)p) = 42; 
} 
1

Они литья переменной CV к типу int * (указатель на INT), затем разыменования его, с внешней * и присваивание что значение 0 отлито для int.

1

Похоже CV является void *, который первым отлиты в int *, затем разыменовываются и значение устанавливается равным 0. int в (int)0, хотя, кажется ненужным.

Смежные вопросы