C/C++ RValue表达式上的谜题?

2023年 9月 15日 67.2k 0

C/C++ R-Value表达式上的谜题?

这里我们将看到一个谜题。假设有一个如下所示的程序,我们必须告诉输出什么以及为什么?

示例

#include
using namespace std;
int main() {
   int x = 0xab;
   ~x;
   cout 登录后复制

那么输出是什么? ~x 正在执行补码操作。那么它是否以十六进制形式显示补码结果?

输出如下

输出

ab

登录后复制

所以,没有变化。但为什么?原因是 ~x 正在将 x 转换为其补码形式,但该值未分配给任何变量。该表达式为R值表达式。在使用左值之前,它不会被存储到某些变量中。如果我们输入 L 值,它将如下所示 -

示例

#include
using namespace std;
int main() {
   int x = 0xab;
   x = ~x;
   cout 登录后复制

输出

ffffff54

登录后复制

以上就是C/C++ R-Value表达式上的谜题?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论