руководство по возврату по значению против ссылки в C ++? - PullRequest
0 голосов
/ 28 марта 2020

где я могу получить подробные рекомендации для решения типа возвращаемого типа в C ++?

Я знал следующее:

• должны возвращаться локальные переменные по значению

• предпочитайте передачу по константной ссылке, а не передачу по значению на тяжелых объектах

однако, тем не менее, я задаюсь вопросом о том, что я должен выбрать среди (return- побочный) значение; Const-значение; исх; const-ref в возможных ситуациях разработки / сценарий ios?

возврат по значению:

// built-in
const int foo();
int foo();

// user-defined
const Person foo();
Person foo();

возврат по ссылке:

// built-in
const int& foo();
int& foo();

// user-defined
const Person& foo();
Person& foo();

1 Ответ

0 голосов
/ 28 марта 2020

С RVO (Оптимизация возвращаемого значения) и Копировать разрешение вы можете и должны возвращать «по значению». Даже для супер больших объектов. Пожалуйста, смотрите также здесь и здесь

Но: Общее правило отсутствует. Как всегда, это зависит.

Но с вышеописанным вы должны лучше понять.

...