- 论坛徽章:
- 0
|
首先,C/C++ 没有的概念多了,包括 C 没有『字符串』,包括 C++ 没有 concept。很多东西都是一个约定而已。我这个容器约定,提交的指针应该由与容器相同的 Factory 构造;不满意,可以交给我的容器负责自己构造一个。
其次,你把一个指针提交给两个容器根本就是错误的做法。一稿多投在很多出版社都是不受欢迎的。析构时候不会出现 delete null_pointer,而是出现 double dtor / double free。这和 vecter<auto_ptr<T> > 是完全不同的。
第三,内存节省和节省对象复制方面的问题主要出在 vector / deque 缓存的重新分配方面,因为这个过程可能重复的、大量对象的复制。提交 const ref 是出于接受常量或常引用等不可提交对象而准备的,如 container<int> c; c.add(1); 这种情况。
Rules and contracts are to be obey, not to be challenged. Or, go ahead and write
[ 本帖最后由 wolf0403 于 2006-10-3 15:39 编辑 ] |
|