如何制作模板结构的矢量
How to Make a vector of template structs
可能重复:
c++模板问题
大家好:
我一直在努力做以下事情:
template <typename T>
struct test {
T* value;
test(int num_of_elements) { value = new T[num_of_elements] };
}
std::vector<test *> fields_;
即,我想制作一个指向一组具有不同类型值的测试结构的指针向量?
我该怎么做?
感谢
Ross
您可以使用类似Boost::any的东西。文档中的一个示例几乎准确地说明了您的用例(至少,正如您迄今为止所描述的(:
struct property
{
property();
property(const std::string &, const boost::any &);
std::string name;
boost::any value;
};
typedef std::list<property> properties;
我不确定将指针指向测试模板意味着什么(与测试类相比(。但是,如果你确定你想要,你可以试试:
struct baseTest {
virtual GetNumberOfElems() = 0;
};
template <typename T>
struct test : public baseTest {
std::size_t n;
T* value;
test(int num_of_elements) { value = new T[n = num_of_elements] };
int GetNumberOfElems() { return n; }
}
std::vector<baseTest *> fields_;
相关文章:
- 如何循环打印顶点结构
- 通过方法访问结构
- 使用不带参数的函数访问结构元素
- 预处理器:插入结构名称中的前一个行号
- 为什么在没有显式默认构造函数的情况下,将另一个结构封装在联合中作为成员的结构不能编译
- 孤立代码块在结构中引发异常
- 有什么方法可以遍历结构吗
- 如何制作一个地图,其中的值是C++中的结构数组
- 如何在德尔福中C++制作与此类似的结构
- 如何制作一个结构程序,在其中可以存储无限量的数据,以便每次您想要时都可以将另一个产品添加到列表中?
- 如何制作递归编译时间变异结构模板
- 如何使用可以在 c++ 中更改的函数制作结构
- C++ 为什么我制作新结构并得到错误?(双链表通函)
- 如何在C 中制作结构类型数组
- 删除结构的成员,并将其重新制作为其他内容的副本,而不使用 new
- 如何制作结构数组[30]
- 如何制作具有结构数组的菜单(将lua代码转换为c++代码)
- 制作一组结构
- 制作预编译代码/数据结构
- 如何制作模板结构的矢量