gpt4 book ai didi

c++ - 包含对其自身实例的引用的标准 vector 的模板类

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

我是 C++ 的新手,第一次尝试构建复杂的模板结构。

作为模板类 Foo 的成员,我如何声明 Foo* 元素的 std::vector,但它可以是各种类型?

#include <vector>

template <typename T>
class Foo {
T mValue;
std::vector< Foo<T>* > mFooParameters; // <---- I would like this vector to contain
// any sort of Foo<T>* elements,
// Foo<int>*, Foo<double>*, etc.
};

它是直截了当的、可能但复杂的,还是不可能的?

感谢您的回答!

最佳答案

如果您的 vector 类型都是相关的,请使用@jogojapan 提供的链接中解释的多态性,如果类型根本不相关,请使用 void* 的 vector 来保存指向您的指针数据(虽然有点乱)

关于c++ - 包含对其自身实例的引用的标准 vector 的模板类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967174/

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