2015-09-29 4 views
3

Я пытаюсь изучить основы C++. Книга, которую я читаю использует следующий синтаксис:Разница между func (int & x) и func (int & x) в C++

func(int& x); 

В интернете я в основном вижу следующий синтаксис:

func(int &x); 

И, кажется, делают то же самое. Есть ли разница?

+0

Люди имеют стандарты кодирования - некоторые предпочитают прежние, а не последние. Но нет разницы –

+1

Вы никогда не видели 'func (int & x);'? –

+0

@DavidSchwartz У меня сейчас. :-) –

ответ

9

Буквально никакой разницы. Просто стилистические предпочтения. same is true of where you put the pointer.

+0

Хотя вы прочтете об этом, если вы перейдете по ссылке, возможно, вам следует добавьте здесь немного о том, чтобы вводить в заблуждение, полагая, что добавление звездочки рядом с типом делает все указатели переменных. –

+2

@DavidVereb: Или просто сделайте так, как рекомендует Бьярне: «Объявление одного имени для каждого объявления минимизирует проблему». –

+0

«Просто стилистические предпочтения» - не только, но и акцент. – emlai

-2

Я предпочитаю int& x. Таким образом, ссылка становится частью типа, это «int reference», называемая x, вместо «int, reference of x»

Я нахожу, что мышление «int reference» как дискретного типа делает его менее запутанным, но для компилятора это одно и то же.

+3

Это не отвечает на вопрос OP, это просто дает ваше мнение/предпочтение. – CoryKramer

+0

@CoryKramer Я уже думаю о том, чтобы закрыть вопрос как «основанное на мнениях» или найти хороший дубликат. –

+0

@ πάνταῥεῖ Сам вопрос сам по себе не основан на мнениях. Ответ на их вопрос: «Нет, нет разницы». Кажется, что есть некоторые дубликаты или, по крайней мере, очень близкие вопросы. – CoryKramer

2

См. Ответ на вопрос Is int* p; right or is int *p; right? на сайте Bjarne Stroustrup. Это для указателей, но то, что он одинаково пишет справедливо для ссылок:

Оба «право» в том смысле, что оба являются действительными C и C++, и оба имеют точно такое же значение. [...] Выбор между int* p; и int *p; не о правильном и неправильном, а о стиле и акценте.

Смежные вопросы