c++ - 通过引用传递的转换整数类型

标签 c++ integer

如果您有一个整数类型 t1 和一个通过引用获得可能更小的整数类型 t2 的函数,那么调用 function((t2)var_t1) 会有问题吗?

最佳答案

当且仅当函数采用const 引用 时,才可以转换为t2,在这种情况下,转换为t2 产生的临时值 可以绑定(bind)到它。

因为这违背了引用整数类型的目的,我会假设引用是非常量的,所以答案是:是的,这会有问题。需要明确的是,如果您转换为 t2,它甚至不会编译。

如果您希望函数仅修改t1 变量的一部分,请在引用上使用reinterpret_cast/指针。当然,这在理论上会调用未定义的行为。

关于c++ - 通过引用传递的转换整数类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5856581/

相关文章:

c++: "pointer to const"指向的对象是否被认为是不变的或只是不可修改的?

c++ - 改变指针变量的内容

java - 如何将 String 解析为具有默认值的 int?

JavaScript 性能开关(整数)与开关(字符串)

c++ - GetImmersiveColorTypeFromName 总是返回 -1

c++ - 调试 Win32 API 应用程序是否存在内存泄漏

C++复制构造函数运行时错误

android - 如何在android中将整数保存到sql数据库?

整数转换为魔兽世界金币

java - 比较两个整数字符串并打印出匹配项