【发布时间】:2015-04-07 22:10:02
【问题描述】:
在 Java 中,我使用
ArrayList<Object> contents = new ArrayList<Object>();
保存泛型类型,并且元素不应该属于同一类型。
例如,我做了这样的事情:
int n = 1991;
String str = "mfso";
contents.add(n);
contents.add(str);
现在,我想在 C++ 中做同样的事情,但我没有发现任何相似之处。 我尝试了 `void**,但它非常类似于 C,而且很难驾驭。我想要一个更面向对象的解决方案。
我希望你能告诉我不同的解决方案,并简要告诉我优缺点。
提前致谢
周可岑
【问题讨论】:
-
说实话,在容器中存储any类型并不是特别的OO。您最终不得不创建许多 OO 应该避免的
if()类型的分支。要成为 OO,您确实需要存储在容器中的类型是强相关的,因此每个类型 都是一些常见的基本类型接口的一种。