编译器在执行左值到右值的转换时做什么
What does compiler do when performing lvalue-to-rvalue conversion?
在执行左值到右值转换时,编译器在后台(在程序集级别)做什么?左值是否读取到临时存储器(寄存器)中?
编译器在每种特定情况下所做的工作将取决于编译器实现、当前优化级别、当时有效的优化的确切工作方式等等。
但基本上,左值到右值的转换对应于从存储地址读取内存内容(大致表示右值)(大致表示左值)。
相关文章:
- 努力将整数转换为链表。不知道我在这里做错了什么
- 是什么导致了这种使用三进制而不是短整型的有符号int到无符号int转换
- 从长整整转换为uint64_t的推荐方法是什么?
- C++:Lambda 函数指针转换的用例是什么?
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- 为什么此指针值不能转换为整数的规则是什么?
- 指针类型类成员的动态强制转换的恒定性是什么?
- 从 argv[1] 转换为字符 * 字符串后有什么问题?
- 当我使用 void 函数的返回值(通过强制转换函数指针)时,究竟会发生什么?
- 从二进制流中读取时,将双精度变量的地址转换为 char* 意味着什么?
- 使用 CStringW/CStringA 和 CT2W/CT2A 转换字符串有什么区别?
- 将QGyroscopeReading转换为QVector3D的正确方法是什么?
- C++ C4244 =':从"std::streamsize"转换为"无符号短",可能会丢失数据;有什么解决办法吗?
- 在从 C++ 转换为 C# 的代码中,我应该使用什么而不是 memcpy?
- 在C++中将uint64_t转换为void类型的目的是什么
- 在C++中,将无符号整数转换为八进制表示,反之亦然的最佳方法是什么
- 这个typedef和转换运算符语法是什么意思
- 是什么将程序集转换为实际可执行的材料
- 转换为非标量误差是什么意思?我该如何解决?
- 在 OpenGL 中计算矩阵时,转换的正确顺序是什么?