尽量使用STL而不是ACE的容器

 

13         尽量使用STL而不是ACE的容器

这个纯属个人感觉(偏见)。我有如下理由不使用ACE的容器:

l      一些实现不符合大家对于容器的认识,比如ACE_DLList,在其中存放的居然是对象的指针而不是拷贝。你还必须记住去释放ACE_DLList内部管理的指针。

l      ACE容器的迭代器不符合STL的要求,从而造成ACE的容器无法使用STL的各种模板算法和函数。总不能因为ACE容器失去STL算法这片森林吧。

l      现在的编译器上已经非常普遍实现了STL,想找一个还不支持STL的编译器应该都不容易了。

l      ACE的容器中间有大量指针,所以ACE的容器也不可能用在共享内存中。其的应用场景和STL没有本质区别。

ACE的文档《The.ACE.Programmers.Guide》中间也说过:

That being said, the standard C++ containers are recommended for application development when you are using ACE.

所以在可以使用STL的情况下,还是优先使用STL

你可能感兴趣的:(c,算法,application,文档,编译器,containers)