摘要: vector: 是单项连续的数组,因此增加item时,可能地址换了(寻找一个能存放得下当前的item数量),于是iterator可能变化了.只能在尾部加itemlist: 双向的链接,因此删除或者增加item不改变iterator.排序只能用自带的sort,因为不能随意访问deque: 双向的,连续的固定数组组合.stack: 默认是以deque的适配器,也可以转用以list为底层.无iteratorqueue: 默认是以deque的适配器,也可以转用以list为底层.无iteratorpriority_queue: 默认是以vec... 阅读全文
posted @ 2012-06-01 21:38 ghost&240 阅读(149) 评论(0) 推荐(0) 编辑
摘要: bind 表达式中的是值语义还是指针语义?当我们传递某种类型的实例给一个 bind 表达式时,它将被复制,除非我们显式地告诉 bind 不要复制它。要看我们怎么做,这可能是至关重要的。为了看一下在我们背后发生了什么事情,我们创建一个 tracer 类,它可以告诉我们它什么时候被缺省构造、被复制构造、被赋值,以及被析构。这样,我们就可以很容易看到用不同的方式使用 bind 会如何影响我们传送的实例。以下是完整的 tracer 类。class tracer {public: tracer() { std::cout << "tracer::tracer()\n"; 阅读全文
posted @ 2012-06-01 20:43 ghost&240 阅读(286) 评论(0) 推荐(0) 编辑