如果您有一个整数类型 t1 和一个通过引用获得可能更小的整数类型 t2 的函数,那么调用 function((t2)var_t1) 会有问题吗?
最佳答案
当且仅当函数采用const 引用 时,才可以转换为t2
,在这种情况下,转换为t2 产生的临时值
可以绑定(bind)到它。
因为这违背了引用整数类型的目的,我会假设引用是非常量的,所以答案是:是的,这会有问题。需要明确的是,如果您转换为 t2
,它甚至不会编译。
如果您希望函数
仅修改t1
变量的一部分,请在引用上使用reinterpret_cast
/指针。当然,这在理论上会调用未定义的行为。
关于c++ - 通过引用传递的转换整数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5856581/