Заинтересовал меня один вопрос. Где лучше ставить * при объявлении указателя на объект: у имени класса или у имени переменной?
Вопрос чисто «философский». Самый очевидный ответ — кому как удобней. Поспрашивал у коллег выяснилось, что я один ставлю * у имени класса.
Решил разобраться в этом вопросе. Обратился к
первоисточнику (Бьерн Страуструп. Язык программирования С++).
char * p; // указатель на символ
То есть вообще третий вариант.
Так же решил глянуть в
стандарт. Про указатели конкретно не нашел, только кусок кода где они объявляются:
Tmp* p = new Tmp(a[i]*b[i]);
Прежде чем спросить ваше мнение, выскажу свои соображения и размышления. Всё, что будет написано дальше это только моё мнение.
Первый вариант Type* obj
Я сам использую этот вариант, но начал я его использовать еще до того как задумался о смысле расположения *. В данном случае переменная рассматривается как переменная типа «указатель на объект типа Type». Следовательно указатель это отдельный тип.
Второй вариант Type *obj
Ну тут все просто, это просто указатель, то есть число с адресом, где можно найти объект типа Type.
Собственно сам вопрос: Как вы объявляете указатели и есть ли в этом смысловая нагрузка или же это просто дело привычки?