我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合公式 > 仿函数 >

C++容器类中参数列表如何调用

归档日期:05-30       文本归类:仿函数      文章编辑:爱尚语录

  然后假设我向test中添加了i个元素,我如何输出这i个元素的int这个参数的值?

  我知道如果只有容器类只有一个参数的话可以直接couttest[i],但是多个参数怎么办?展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  STL(Standard Template Library)的六大组件:容器(containers)、迭代器(iterators)、空间配置器(allocator)、配接器(adapters)、算法(algorithms)、仿函数(functors)六个部分。其交互关系:容器通过空间配置器取得数据存储空间,空间配置器通过迭代器存取容器的内容,仿函数可以协助空间配置器完成不同的策略变化,配接器可以修饰或套接仿函数。

  C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。

  支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;

  连续存储结构,即其每个元素在内存上也是连续的,类似于vector,不同之处在于,deque提供了两级数组结构,第一级完全类似于vector,代表实际容器;另一级维护容器的首位地址。

  这样,deque除了具有vector的所有功能外,还支持高效的首端插入/删除操作。

  非连续存储结构,具有双链表结构,每个元素维护一对前向和后向指针,因此支持前向/后向遍历。

  支持高效的随机插入/删除操作,但随机访问效率低下,且由于需要额外维护指针,开销也比较大。

  d、只有需要在首端进行插入/删除操作的时候,才选择deque,否则都选择vector。

  e、若既需要随机插入/删除,又需要随机访问,则需要在vector与list间做个折中。

  f、当要存储的是大型负责类对象时,list要优于vector;当然这时候也可以用vector来存储指向对象的指针,同样会取得较高的效率,但是指针的维护非常容易出错,因此不推荐使用。

本文链接:http://renfriends.com/fanghanshu/479.html