首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++高手一段简单的代码,求解释与使用

2013-09-05 
请教各位C++高手一段简单的代码,求解释与使用#include listclass CNodeList: public std::listCNodeLis

请教各位C++高手一段简单的代码,求解释与使用


#include <list>
class CNodeList: public std::list<CNodeList>
{
public:
     CNodeList(){};
     int i;
};
CNodeList a;
CNodeList b;
a.push_back(b);

感觉这样写好强大,不知有没有例子 C++ 类
[解决办法]
可惜stl中没有一个容易是为了被继承而设计的。
[解决办法]
引用:
可惜stl中没有一个容易是为了被继承而设计的。


话说stl真的很强大么?工作用的真很少,全是皮毛,所以了解不深
难道是因为我还年轻?
[解决办法]
引用:
Quote: 引用:

可惜stl中没有一个容易是为了被继承而设计的。


话说stl真的很强大么?工作用的真很少,全是皮毛,所以了解不深
难道是因为我还年轻?


stl是library, 给实现者/coder用的,确实强大。如果以分析,设计或者测试为主, 自然用的不多。
[解决办法]
C语言的链表其实不都是这么写的嘛。
[解决办法]
...应该没什么人会这样写,因为stl的containers为了效率
连一个virtual没有,他们原本就不是为了被继承而设计的
如果你要继承也不是不行,但是务必要清楚的了解自己为何这么做


比较不容易让人混淆的手段是"is implemented in terms of"

class CNodeList
{
public:
     CNodeList(){};
     int i;
private:
  std::list<int> list_;
};


或者更简单一点

struct CNode
{
  int a;
  //other data
};

int main()
{
std::list<CNode> nodeList;
CNode nodeA, nodeB;
nodeList.emplace_back(nodeA);
nodeList.emplace_back(nodeB);

return 0;
}


引用:
C语言的链表其实不都是这么写的嘛。

c++ is not c
[解决办法]
这个时广义表吧!!!


反正不像链表。

每个节点的数据,是一个链表。
难道要做 lisp 编译器???


[解决办法]
这是一颗树。相当于:

class CNodeList
{
CNodeList children[];
}

热点排行