Правильные ответы уже здесь, но могу ли я сказать вам трюк, который мне вообще помог, когда мне пришлось много использовать C?
Как вы произносите «*» в своей голове - и есть две части.
Общая часть, когда она является частью типа - и каждый, вероятно, говорит «указатель», когда они читают это, что отлично. Итак, (int *) является указателем на int, или я даже переверну его в голове, чтобы читать «указатель на int», который, кажется, немного помогает.
Вещь, которая очень помогает мне, - это когда вы видите * в своем коде - читайте ее как «на что указывает».
Если вы будете следовать этому образцу, то:
int num = *(int *)number;
является целой переменной «Num» получает присваивается значение: то, на который указывает на Int указателя, номер. Он просто переводится.
Иногда вам приходится возиться с фразировкой немного, но так как я попал в эту привычку, у меня никогда не было большой проблемы с чтением кода указателя.
Я считаю, что я также читал & как «Адрес» на C, но я думаю, что он был перегружен на C++, если я правильно помню.
+1 @Charles yep, в основном num теперь будет содержать копию значения, на которое указывает число. – pstrjds
Стоит добавить: при отбрасывании указателя FROM void нам нужно использовать операторы трансляции. Это причина использования (int *), которая отличает «число», который является указателем на void, указателю на int. И * еще больше почуйте этот указатель на int, чтобы вернуть int. –