Я понимаю, что основная цель ссылок - избегать копирования больших структур, но что, если функция, которую вы пишете, сама создает большую структуру? Менее эффективно (или у вас, скорее всего, закончится память) создать переменную локально, а затем вернуть ее, чем передать целевой объект в качестве ссылки и заполнить его из функции?
I Кажется, это не так хорошо сформулировано, поэтому конкретный пример: предположим, что функция принимает строку и возвращает вектор каждой строки в строке. Есть ли материальное преимущество функции:
void getLines(std::string in, std::vector<std::string>& out);
перед:
std::vector<std::string> getLines(std::string in);
Спасибо за любую помощь, Итак, конкретный пример: предположим, что функция принимает строку и возвращает вектор каждой строки в строке. Есть ли материальное преимущество функции:
void getLines(std::string in, std::vector<std::string>& out);
перед:
std::vector<std::string> getLines(std::string in);
Спасибо за любую помощь, Итак, конкретный пример: предположим, что функция принимает строку и возвращает вектор каждой строки в строке. Есть ли материальное преимущество функции:
void getLines(std::string in, std::vector<std::string>& out);
перед:
std::vector<std::string> getLines(std::string in);
Спасибо за любую помощь, Wyatt