标准容器部分

来源:互联网 发布:mac玩守望先锋按键 编辑:程序博客网 时间:2024/05/11 01:51

1 元素

容器的元素是被插入对象的副本,因此元素必须属于有个允许容器的实现对她进行复制的类型。容器可以利用复制构造函数或者赋值做元素的复制工作。

2 比较

关联容器要求其元素是有序的。默认方式是<运算符定义。如果<不合适,可以提供比较合适的比较操作。比如定义一个函数对象。

对于顺序准则cmp:

 1 cmp(x,x)==false.

 2 if cmp(x,y) and cmp(y,z),then cmp(y,z).

 3 define equiv(x,y)为 !( cmp(x,y)||cmp(y,x) ).

 4 其他的关系运算符,都可以通过<和==进行构建。

 二 序列

1 list

 粘接splice().这个相当于剪贴过去,不做复制。

  merge()归并排序。这个需要注意的时候,在规定前,需要保证2个list中的排列顺序是和目标list需要排列的顺序一致。The default order for the first member function is ascending order.

二 关联容器 map set mulltimap multiset

map

比较,默认规定,关键码比较采用<,但是,可以通过末班参数或者构造函数的参数提供替代运算。

对于下标[]。由于[]总需要V(),如果一个map的值类型没有默认值,就无法对他使用下标操作。这是标准关联容器的一个很不幸的限制。。

对于multimap,无下标操作[],使用equal_range(),lower_bound(),uper_bound()操作。

三 拟容器 string valarray bitset

 

原创粉丝点击