Вот грамматика:
init-declarator-list
:
init-declarator
init-declarator-list , init-declarator
init-declarator
:
declarator initializer
неавтоматического
То есть init-declarator-list
может содержать объявление более чем одной переменной, а init-declarator
должно содержать объявление только одной переменной.
Это означает, что в вашем случае первый код - init-declarator-list
, а второй - init-declarator
(и init-declarator-list
оба, поскольку init-declarator-list
может содержать только одну декларацию).
Но как это имеет значение, что вы называете, что? В повседневном использовании эта разница почти игнорируется.
Однако, если вы хотите узнать о стиле кодирования, то разные люди объявляют переменные по-разному. Я видел много хороших программистов, которые используют оба стиля. Я обычно записываю все связанные переменные в один и тот же список объявлений, например,
int x,y,z; //point coordinates
int height, width; //dimensions
std::string firstname, lastname; //name parts
int left, top, right, bottom; //rectangle coordinates
Если вы сгруппируете их, как указано выше, вам будет легче понять значение каждой переменной, просто узнав группу в первую очередь. Также проще использовать только один комментарий для каждого списка объявлений (точно так же, как я делал выше!), И все готово. Это также в некоторой степени помогает в обслуживании, хотя, вероятно, не так сильно.