gpt4 book ai didi

c++ - 如何在 C/C++ 中动态选择要转换的类型?

转载 作者:行者123 更新时间:2023-11-30 20:08:31 26 4
gpt4 key购买 nike

有什么办法吗

if(...)
return (char)value;

return (unsigned char)value;

通过将支票移至类型转换中以获得类似的内容

return (???)value;

目标是以不同的方式解释值(value)的内容例如:(无符号字符)144=>144 和(字符)144=>-112

最佳答案

不,在 C 和 C++ 中,函数的返回类型是固定的,即它将始终返回相同的类型。即使您尝试将强制转换作为 return 语句的一部分,返回的值也会隐式转换为函数的返回类型 - 如果可能的话。如果无法进行隐式转换,您将收到编译错误。

所以

returntype foo(...) {.... return x;}

将始终返回returntype类型的值

在 C++ 中,您可以使用模板来“更改”返回类型,但是一旦解决了模板定义,就会发生同样的情况。强制转换不会改变真正的返回类型。

关于c++ - 如何在 C/C++ 中动态选择要转换的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56779365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com