C ++: адрес ссылок? - PullRequest
       9

C ++: адрес ссылок?

3 голосов
/ 03 февраля 2011

Мои знания C ++ arcana немного грубые. Допустим, у меня есть следующие классы:

struct Bar {
  int x;
};

class Foo {
  Bar& bar;
public:
  Bar* getRealAddress() { return &bar; }
  Foo(Bar& _bar) : bar(_bar) {}
};

Bar bar1;
Foo foo1(bar1);

Будет ли foo1.getRealAddress() возвращать то же значение, что и &bar1?

Ответы [ 2 ]

11 голосов
/ 03 февраля 2011

Будет ли foo1.getRealAddress() возвращать то же значение, что и &bar1?

Да.

По сути, ссылка - это исходное значение во всех, кроме имени.Это псевдоним.

2 голосов
/ 03 февраля 2011

Да, адреса будут одинаковыми, поскольку это один и тот же Bar экземпляр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...