小编msi*_*erm的帖子

在C/C++中*(1 +&foo)与*(&foo + 1)相同?

这是:

*(1 + &foo)
Run Code Online (Sandbox Code Playgroud)

这个一样吗?

*(&foo + 1)
Run Code Online (Sandbox Code Playgroud)

'+'和'&'具有相同的优先级,它们从右到左进行评估.但是你无法解释第二种情况:

*(&(foo + 1))
Run Code Online (Sandbox Code Playgroud)

...因为你只能使用带有l值的'&'(如果你这样写它就不会编译).它会是垃圾吗?或者它会安全地弄清楚你的意思吗?

c c++

3
推荐指数
1
解决办法
223
查看次数

标签 统计

c ×1

c++ ×1