Ana*_*dis 5 c++ memory casting
我的问题很简单,如果我在C++中有以下代码:
int main(int argc, const char * argv[])
{
    int i1 = 5;
    int i2 = 2;
    float f = i1/(float)i2;
    std::cout << f << "\n";
    return 0;
}
是(float)i2要在内存中创建一个新的对象,接下来要进行i1分配f或分配,或者转换操作符是否会以某种方式(float)i2在运行中进行转换,并且在没有额外内存的情况下进行转换?
另外,铸造需要不同大小的变量的情况如何?(例如从浮动到双重)
将
(float)i2在内存中创建一个新对象
转换创建一个临时对象,该对象将有自己的存储空间。这不一定是在记忆中;而是在记忆中。像这样的小算术值可能会在寄存器中创建和使用。
另外,铸造需要不同大小的变量的情况是怎么回事?
由于创建了一个新对象,因此它们是否具有不同的大小和表示形式并不重要。
| 归档时间: | 
 | 
| 查看次数: | 146 次 | 
| 最近记录: |