Я думаю, что я пропускаю что-то основное относительно стандартного преобразования lvalue-to-rvalue.C++ 11 преобразование lvalue-to-rvalue?
От C++ 11 4.1:
glvalue из не-функции, не массив типа Т может быть преобразован в prvalue
Таким образом, мы объявить переменную x
:
int x = 42;
Выражение x
в этой области теперь имеет значение lvalue (также и значение glvalue). Он удовлетворяет требованиям 4.1 для преобразования lvalue-to-rvalue.
Каков типичный пример контекста, в котором преобразование lvalue-rvalue применяется к выражению x
?
-1 Вы цитируете, что 'func()' является значением rvalue. –
@ JohannesSchaub-litb Я говорю, что «результатом вызова функции, тип возврата которой не является ссылкой, является prvalue». – billz
эквивалент @billz (пожалуйста, замените rvalue в вышеприведенном комментарии на prvalue. Авария). вы не вызываете функцию в своем коде. –