Премудрости объявление указателя в c++

210
23 февраля 2018, 18:40

Здравствуйте, недавно начал изучения c++ и остановился на указателях. Читал про них на разных источниках и везде объявление указателя выглядит по-разному. Не могли бы вы ответить, чем различаются следующие объявление указателей:

int *ptr1;
int* ptr2;
int * prt3;
Answer 1

Как сказали выше (или ниже) - ничем не отличаются. Но есть все таки одно отличие - это стилистика.

Большинство программистов делится на две группы - те, кто ставит звездочку к типу или те, кто ставит к переменной (и у каждой группы есть свои аргументы за и против).

И есть ещё две группки, маленькие - первая ставит звездочку посредине (это не определившиеся) и те, кто задает подобные вопросы на форумах (@Default, к примеру), приправив их различной легендой (как лучше, как правильней, в чем разница).

В целом, лучше узнать кодстайл в компании или выработать свой и будет счастье.

P.S.

А лучше использовать shared_ptr/unique_ptr и вопроса о звездочке может долго не возникать.

Answer 2

Абсолютно ничем.

Как и

int*p;
int    *    p;

Наличие пробелов ни на что не влияет.

Просто кому как удобнее и привычнее.

И сразу - учтите, что в

int* p, n;

p будет указателем на int, но n - просто int.

READ ALSO
Работа с COM-портом в C++

Работа с COM-портом в C++

В сети есть куча мануалов и примеров по работе с портом в C++, но у меня как-то неохотно они работаютИзначально юзал QSerialPort, все было прекрасно...

230
Вывод всех значений вектора

Вывод всех значений вектора

Необходимо в цикле вывести все значения вектора

169
Как реализуется iтая переменная в C++

Как реализуется iтая переменная в C++

Допустим у меня серия уравнений, и выходит так, x(2) это x(1) - n (и далее это тоже продолжается)Можно ли как-то задать один раз переменную x, чтобы...

216
Ошибка при выводе данных из Struct

Ошибка при выводе данных из Struct

При сьемке фотографий от камеры, записываю имя файла (получается путь) и id в вектор

206