对于方法 empty() 和 size() 应该首选 empty() 的构造,
理由很简单: 对于所有的标准容器,empty是一个常数时间操作,但对于一些 list 实现,size花费线性时间。
list::splice 实现 list 拼接的功能,将源 list 的内容部分或全部元素删除,拼插入到目的的 list:
void splice ( iterator position, list<T, Allocator> & x );
void splice ( iterator position, list<T, Allocator> & x, iterator i );
void splice ( iterator position, list<T, Allocator> & x, iterator first,iterator last );
函数说明:
将x元素移动到目的 list 的指定位置,高效的将它们插入到目的的 list 并从 x 中删除;