尝试创建包含不同类型数据的模板化链接列表

时间:2016-04-22 23:28:12

标签: c++ templates linked-list

嘿,我试图创建一个链表,但我已经陷入了死胡同。 我认为我对模板的了解让我一片空白!

所以我试图创建一个包含对象的链接列表,其中包含对某些数据的引用对前一个的引用列表中的对象

这样的事情:

template<class T>
class ClassHeader
{
    //-- Variables
    T* object;
    ClassHeader<T>* previousHeader;
};

我想象它是这样的:

     Data______       Data_____
    |          |     |         |
    |__________|     |_________|
     ^                ^
     |                |
     |   Header       |   Header
    |Data*     |     |Data*    |
<---|Header*   |<----|Header*  |
    |          |     |         |
    |__________|     |_________|

我将继续提及“顶级&#39;其他地方列表的classheader。然后我计划下去列表并访问每个对象&#39;我走了。

到目前为止,我无法弄清楚如何做到这一点,因为我(据我所知)需要知道每个先前对象的类型&#39;在手之前,这是我试图获得的信息!

此外,每个&#39;对象&#39;参考(图中的数据)可以是完全不同的类型。

任何帮助?

1 个答案:

答案 0 :(得分:0)

也许来自&#34; Inheritance is the base class of evil&#34;谈话会有所帮助......

可在此处找到相应的源代码 - https://github.com/boostcon/cppnow_presentations_2012/blob/master/fri/value_semantics/value_semantics.cpp

只需从上面的代码中获取类object_t和model_t,然后创建object_t - 列表的数据类型。根据需要定义帮助程序和访问方法。