Я предпочел в int* i
течение многих лет. Однако есть веский аргумент, int *i
потому что при использовании предыдущего стиля вы все равно должны помнить правило множественного объявления:
int* a, *b; // not int* a, b;
Поскольку вы должны помнить это правило, вы не получите ничего в явном виде, но я бы не сказал, что оно более сложное. Избегание нескольких объявлений в одной строке - это просто еще один способ сказать, что вы помните это правило. Разница между этими двумя стилями спорна.
Однако даже когда я его использую, кажется немного глупым притворяться, что синтаксис объявления C работает иначе, чем когда он ставит звездочку рядом с типом, а не с переменной, с которой он синтаксически связан.
Я не покупаю в том , что один подчеркивает тип указателя (для i
) , а другой подчеркивает тип INT (для *i
), но это может быть , что после 15 лет использования С и С ++, это просто есть , когда я смотрю на него, без необходимость думать об этом »-« что-то, что большинство новичков, которые задают этот вопрос, еще не могут сделать.
Кроме того, даже учитывая мои предпочтения, я не считаю неловким чтение / запись кода в другом стиле. Последовательность, бла-бла-бла.
Не нужно даже упоминать int * i
.