我可以通过绑定到引用来获取rvalue的地址(据我所知,它本身只能由左值引用)。
有没有办法获得rvalue我可以直接取一个地址(例如像&(<rvalue>)
那样是一个有效的表达式,而不会覆盖operator&()
)?
或许至少可以通过&#39;绑定&#39;到另一个右边? (这似乎并非如此,因为我们只能将参考文件绑定到左值,参见上文。但也许我在这里错过了一些类似的概念。)
我试图回答的更普遍的问题是以下是否正确:rvalues严格对应于一组可以直接获取地址的表达式,除了左值位域和其他一些这样的&#39 ;特&#39;各种左右。
答案 0 :(得分:3)
nested-name-specifier 表示一个类,可选地后跟 关键字
template
([temp.names]),然后是名称 该类([class.mem])或其基类之一的成员 类,是 qualified-id ; [class.qual]描述了名称查找 出现在qualified-ids中的类成员。结果是成员。 结果的类型是成员的类型。 结果是 如果成员是静态成员函数或数据成员,则左值 否则为prvalue。
也就是说,为非静态成员函数创建指向成员的指针是将&
运算符应用于prvalue。