gpt4 book ai didi

c++ - 是否有异常(exception)规则,如果地址可以使用&它是左值找到?

转载 作者:行者123 更新时间:2023-11-28 00:15:20 25 4
gpt4 key购买 nike

是否有任何异常(exception)规则,如果我可以使用 & 找到地址,它是左值,否则是右值?

例如,

int i;

&i 会给出 i 的地址,但我不能获取 (i + 5) 的地址,除非我是指针或数组。

问候

最佳答案

最明显的异常(exception)是为您自己的类型重载前缀 & 运算符:

#include <iostream>

struct X
{
X* operator&()
{
return this;
}
};

int main()
{
std::cout << &X() << '\n';
}

这会打印临时对象的地址,当我运行它时恰好是 0x7fff76012d9f

关于c++ - 是否有异常(exception)规则,如果地址可以使用&它是左值找到?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693629/

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