众所周知,从1972年以来,c的list应该怎么写,今天2014也还应该怎么写

typedef struct demo{

 demo* next;

} demo;

而,c++的到来,使得list变成了std::list.

我接触了stl的list,当然还有map,vector等众多容器之后,我果断不再使用c的list了,有人觉得,这是一个关于懒惰的问题,但我觉得不是.

从编码的角度来看,两者无非是一点语法的问题.但如果从哲学或者说认知及合理性角度来讲,我觉得stl真真是极好的.

记得云风的一篇文章中讲到,我们在将任何东西抽象的时候,发现有些东西确实无法归类的,他们并不是我们要表达的东西,比如我们要表达一堆鸡蛋,我们完全只需要鸡蛋的类即可,但为了管理这些鸡蛋,我们却不得不抽象另外一些东西,比如容器.

很显然,一篮子鸡蛋中,篮子是篮子,鸡蛋是鸡蛋,而c中,将篮子和鸡蛋的概念揉到了一起,不得不说,c的list的表示方法实际上是一种错误的表现手法,这到底是一种设计上的表现手法,还是实际的使用表现手法,也只有里奇能回答了.

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐