Функциональный вызов возвращает указатель 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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