在C ++中standard可以找到prvalue表达式的例子:
" prvalue
以下表达式是prvalue表达式:
文字(字符串文字除外),例如42,true或nullptr;
函数调用或非引用返回类型的重载运算符表达式,例如str.substr(1,2),str1 + str2或it ++; ..."
这是T()
(构造函数调用)之类的表达式吗?
这些表达还有其他名称吗?
答案 0 :(得分:4)
虽然默认构造函数的特殊情况让我感到困惑,但这被认为是强制转换表达式,它在列表中略低一些:
- 将演员表达式转换为非引用类型,例如
Dim cf As CubeField For Each cf In ActiveSheet.PivotTables("PivotTable4").CubeFields If cf.CubeFieldType = xlHierarchy Then cf.EnableMultiplePageItems = True End If Next cf
,static_cast<double>(x)
或std::string{}
;
即使转换 nothing 的想法很奇怪,(int)42
语法的确包含在表格#4 here中。