Я видел некоторые C++, который выглядит следующим образом:Возвращаясь указатель по ссылке
const Foo*& ptr = GetPointerToFoo();
Что, кажется, делает ту же работу, как:
const Foo* ptr = GetPointerToFoo();
Или даже:
Foo* ptr = GetPointerToFoo();
Каково использование &
в первом примере? Передает ли оно значение, возвращаемое GetPointerToFoo()
по ссылке? Каким будет использование этого? Это просто, чтобы заставить его работать быстрее, чтобы этот указатель не нужно копировать? Если это так, это представляется довольно сложной реализацией для очень небольшого увеличения скорости ... Или есть другие причины использовать здесь &
?
Это то же самое, что и возвращение * ничего * по ссылке. – juanchopanza
В этом случае это просто бессмысленно (каламбур не предназначен). – nos
@nos Вы не можете знать, что. – juanchopanza