Я всегда кладу звездочку, как это при создании указателей:Размещение [] и *
//directly adjacent to the type
int* p = new int();
Так что я не запутать заявление с dererefence. Но потом я узнал об этом:
//p is a pointer, q is an int
int* p, q;
Что вводит в заблуждение меня, поэтому я начал поставить звездочку рядом с переменной, а не тип. Однако это заставило меня задуматься. Почему они спроектировали его таким образом? Вероятно, ужасно думать об этом так, но я всегда думал о указателе как о части этого типа. Например, его не указатель на int, его указатель int. Я знаю, что на самом деле это не так, но в моей голове всегда все исходило. И что на самом деле заставило меня задуматься, почему в скобки идут:
//after the variable
int p[1];
tldr; Почему звездочка идут перед переменной, но скобки позади
Вам интересны мотивы дизайнеров языка? – bitmask
Да, это то, что мне интересно о – BWG
Кстати, вы демонстрируете, почему декларации переменных штабелирования на одном из утверждений - плохая идея – pm100