实际上,我在网上看到的每一个左值到右值转换的例子都与基本类型有关,例如int
etc。
我自己找不到适用于类类型的 l2r 示例;在所有看似适用的示例中,通常有一个函数涉及 lvalue-ref(如 copy-ctor),l2r 似乎被抑制(参见例如这个问题)。
然而,在 l2r 本身的描述中有一个关于类类型的子句(来自 [conv.lval]):
转换结果根据以下规则确定:
<...> 如果 T 具有类类型,则转换从泛泛值复制初始化 T 类型的临时,并且转换的结果是临时的纯右值。
有人可以举一个这个条款的例子吗?我不能。