Результаты поиска по запросу "reference"

8 ответов

std :: string & Foo :: get_str () - чаще всего этого не делают. Вы хотите изменить своих членов в своем классе, а не позволять изменять кого-либо еще.

оложим, у меня есть классFoo сstd::string членstr, Что должноget_str вернуть? std::string Foo::get_str() const { return str; }или же const std::string& Foo::get_str() const { return str; }Что более идиоматично в C ++?

4 ответа

 кейс.

о обоснование дизайна, позволяющее это const Foo& a = function_returning_Foo_by_value();но не это Foo& a = function_returning_Foo_by_value();? Что может пойти не так во второй строке (что уже не пойдет не так в первой строке)?

4 ответа

Потому что ссылка - это не та вещь, на которую можно указать, что, в свою очередь, связано с тем, что на самом деле ее не нужно представлять где-либо в памяти. Ссылки существуют, чтобы дать альтернативные имена уже существующим вещам. Вы можете получить указатель на переименованную вещь, но это указатель на значение, а не указатель на ссылку.

ам заголовок упоминает - почему указатель на ссылку недопустим, в то время как в C ++ это наоборот? Благодарю.

ТОП публикаций

7 ответов

Имейте это в виду, и вы можете безопасно просматривать другие сайты, даже W3Schools. W3Schools не лучше и не хуже других неофициальных сайтов.

емени работы в SO я обнаружил, что w3schools, возможно, не лучшее место для отправки людей в виде справочного руководства по html / web-программированию. Я начал использовать их давным-давно, и многие годы отправлял туда людей, потому что они ...

5 ответов

Другие способы, такие как что?

на, по которой я спрашиваю, заключается в том, что я получаю исключение NullPointerException. Я сейчас это очень легко, но я довольно новое программирование и нахожу это немного запутанным. Допустим, я инициализировал объект в классе и хочу ...

1 ответ

Использование ссылок для доступа к объектам класса C ++

Это меня поставило в тупик. То, что я пытаюсь сделать, - это получить ссылочную переменную в классе-обертке, чтобы она указывала на объект структуры в классе, который она оборачивает, так что любые установки переменных в структуре из других ...

2 ответа

 обновить БД.

дал 2 формы. Первая - это кнопка, которую вы хотите сохранить. Во втором есть пути, которые можно изменить. Как сделать ссылку, что после нажатия кнопки «резервное копирование» будет получен путь из 2 форм. Путь сохраняется, когда я закрываю ...

2 ответа

Отличный ответ, приятно видеть ссылки на дальнейшие объяснения.

отрим этот код, struct A {}; struct B { B(const A&) {} }; void f(B) { cout << "f()"<<endl; } void g(A &a) { cout << "g()" <<endl; f(a); //a is implicitly converted into B. } int main() { A a; g(a); }Этоткомпилирует нормально ...

3 ответа

 ? Я предполагаю, что вы напечатаете 99, а не 0.

у использовать ссылку на Java, но я не знаю как! например, в C ++ мы пишем: void sum(int& x) { ... }но в Java & sign это ошибка компилятора! Пожалуйста, помогите мне понять ссылки на Java.

2 ответа

Visual Studio 2008 Ссылки слишком длинные?

Недавно я реорганизовал наш контроль версий и обнаружил, что одно из наших решений больше не собирается. Единственная ошибка, которую мы получаем: Ошибка 65 Неизвестная ошибка сборки: «Указанный путь, имя файла или оба являются слишком длинными. ...