Функциональный вызов возвращает указатель Prvalue?C++

Программы на C++. Форум разработчиков
Anonymous
Функциональный вызов возвращает указатель Prvalue?

Сообщение Anonymous »

Этот вопрос возникает из вопроса "Почему const в функции возвращается тип, который является const pointer , игнорируется?"

Код: Выделить всё

int* const Foo();
< /code>
идентична < /p>
int* Foo();
Я знаю, что const in function return Type, который является фундаментальным типом, игнорируется, потому что const применяется только к выражениям LVALUE только .

«Константная семантика применить только к выражениям lvalue только /> Тип возврата функции, который является фундаментальным типом, является нереферентской функцией возвращающегося типа, а функция, не относящаяся к ссылкам,-это тип prvalue .

Следующие выражения- prvalue expersions:
. />
вызов функции или перегруженное выражение оператора, возвращаемый тип которого не является reference < /em> < /li>
< /ul>
< /blockquote>
Однако я не могу найти, где вызов функции или перегруженное выражение оператора, чей возврат является опознанным. Пожалуйста, поправьте меня, если я неправильно понимаю.

Подробнее здесь: https://stackoverflow.com/questions/797 ... -a-prvalue

Вернуться в «C++»