gpt4 book ai didi

C++ 等效于 C# 4。0's "动态“关键字?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:13:02 26 4
gpt4 key购买 nike

在 C# 4.0 中,您可以使用“dynamic”关键字作为直到运行时才知道的类型的占位符。在某些极端情况下,这是非常有用的行为。是否可以在 C++ 中模拟类似这样的东西,可能使用 C++0x 功能或 RTTI?

最佳答案

不是真的。您可以获得的最接近的是 void *,但您仍然需要将其转换为适当的类型才能使用它。

更新:

Trying to build a duck-typed DSL that compiles to C++, basically.

您至少可以通过两种方式解决此问题:

基于 union 的变体

struct MyType {
enum { NUMBER, STRING /* etc */ } type;
union {
double number;
string str;
};
};

多态类继承

class MyType {
public:
/* define pure virtual operations common to all types */
};

class MyNumber : public MyType {
private:
double number;
public:
/* implement operations for this type */
};

关于C++ 等效于 C# 4。0's "动态“关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4161216/

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