在Qt中是否有可以存储不同类型(是的,我真的需要使用不同类型)的容器?我必须创建一个新类来执行此操作?如果是这样,你能给我一个暗示来创造吗?
答案 0 :(得分:1)
Qt中的大多数容器都是template based,然后您可以将它们用于不同的静态类型。
另一种选择是使用QVariant
,例如:QVector<QVariant> vec;
。
更动态的解决方案是使用polymorphism,您可以存储指向基类的指针等等。
PS:作为一般规则,你应该避免这种模式。来自Effective C ++,作者:Scott Meyers:
任何时候你发现你自己编写表格的代码&#34;如果对象是 T1类型,然后做一些事情,但如果它是T2类型,那么做 别的,&#34;打自己。