gpt4 book ai didi

c++ - 有没有我可以直接获取地址的右值?

转载 作者:行者123 更新时间:2023-11-30 02:23:50 25 4
gpt4 key购买 nike

我可以通过绑定(bind)到一个引用来获取右值的地址(据我所知,它本身只能由左值引用)。

有没有什么方法可以获得我可以直接获取地址的右值(即 &(<rvalue>) 将是一个有效的表达式,而无需覆盖 operator&() )?

或者这至少可以通过“绑定(bind)”到另一个右值来实现? (这似乎不是这种情况,因为我们只能“绑定(bind)”到左值引用,见上文。但也许我在这里遗漏了一些类似的概念。)

我试图回答的更一般的问题是以下是否正确:右值严格对应于一组可以直接获取地址的表达式,除了左值位域和其他一些类似的“特殊”类型左值。

最佳答案

[expr.prim.id.qual] :

A nested-name-specifier that denotes a class, optionally followed by the keyword template ([temp.names]), and then followed by the name of a member of either that class ([class.mem]) or one of its base classes, is a qualified-id; [class.qual] describes name lookup for class members that appear in qualified-ids. The result is the member. The type of the result is the type of the member. The result is an lvalue if the member is a static member function or a data member and a prvalue otherwise.

也就是说,创建指向非静态成员函数的成员指针是将 & 运算符应用于纯右值。

关于c++ - 有没有我可以直接获取地址的右值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45681363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com