gpt4 book ai didi

c++ - 更改模板类的类型

转载 作者:太空宇宙 更新时间:2023-11-04 14:58:08 24 4
gpt4 key购买 nike

以 Ruby (1.8) 为例

i = 4
i.class => fixnum

i += 1.3
i.class => float

这可以用 C++ 实现吗?

例如

template<class T>
struct Number {};

Number<int> foo;

foo.changeTypeToFloat(); // <-- Possible?

// foo now Float?

最佳答案

C++ 是一种静态类型语言。变量有固定的类型。在语言级别,您可以做的最好的事情就是转换为新变量,例如:

int i = 5;
float f = static_cast<float>(i);

或者,您可以编写一个变体类,并在内部处理转换。但这确实是上述内容的语法糖。

关于c++ - 更改模板类的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068511/

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