c++程序中的map容器一般都是怎样初始化的 csdn

如题所述

  容器用来存储数据的,数据可以是用户自定义类型(对象),也可以是预定义类型,c++中的容器主要使用如vector,list (顺序容器) 这些都是已经封装好了的,包含头文件"vector","list",通过迭代器iterator访问容器中的数据,map,set(关联容器),关联容器map键值对形式出现key-value,key唯一,mutimap多映射可以不唯一;set是一个单一值的集合,如1,2,3,4
  顺序容器:vector,list 分别举例 对比
  vector容器的特点:在内存中是一片连续的存储区域,初始化的时候,可以指定容量,比如如果定义容量50 的容器存储 60个string对象,由于初始容量不足60,容器将会重新定义一个容量是原来的2倍新容器,然后拷贝原容器的对象到新容器. 读取速度快,插入删除效率低.如果仅仅在容器头或尾部 进行增删改,推荐使用deque,专门提供了对首尾的操作.
  list容器特点:相当数据结构的链表,不是一个连续的存储区域,插入,删除很方便,但是查询速度慢
  vector<string> vec 就是定义了一个vector容器,可以通过
  vec.push_back(), push_font(),insert(position,value) 想vector中添加一个指定值

  list<int> ilist<初始大小,默认赋值> list<int> ilist(20 -1) 初始20个值为-1的list

  然后操作可以参考这些这些类封转的方法。

  关联容器:set map mutimap mutiset
  key-->value形式
  1--1
  2--2
  3--3
  set 形式 1234,键值唯一;
  具体容器的操作方法,可以调用其成员函数.
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-01-10
map<int,char> ctr;ctr.insert(pair<int,char>)(1,'a'));
第2个回答  2015-01-09
可以说是有三种方式的你可以在百度上搜索下的

c++程序中的map容器一般都是怎样初始化的 csdn
c++中的容器主要使用如vector,list (顺序容器) 这些都是已经封装好了的,包含头文件"vector","list",通过迭代器iterator访问容器中的数据,map,set(关联容器),关联容器map键值对形式出现key-value,key唯一,mutimap多映射可以不唯一;

C++ vector中使用pair 及 pair的基本用法总结(转)
pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员...

c++的头文件什么时候用哪个呢
MATH.H 说明数学运算函数,还定了 HUGE VAL 宏, 说明了matherr和matherr子程序用到的特殊结构。MEM.H 说明一些内存操作函数(其中大多数也在STRING.H 中说明)。 PROCESS.H 说明进程管理的各个函数,spawn…和EXEC …函数的结构说明。SETJMP.H 定义longjmp和setjmp函数用到的jmp buf类型, 说明这两...

在C++ 程序中调用被 C 编译器编译后的函数,为什么要加 extern “C...
因为这种初始化和析构静态对象的方法是如此通用,只要程序的任意部分是C++写的,你就应该用C++写main()函数。有时看起来用C写main()更有意义--比如程序的大部分是C的,C++部分只是一个支持库。然而,这个C++库很可能含有静态对象(即使现在没有,以后可能会有--参见Item M32),所以用C++写main()仍然是个好主意。这...

C++头文件函数及作用说明越多越好
include <map> \/\/STL 映射容器 include <iomanip> include <ios> \/\/基本输入/输出支持 include <iosfwd> \/\/输入/输出系统使用的前置声明 include <iostream> include <istream> \/\/基本输入流 include <ostream> \/\/基本输出流 include <queue> \/\/STL 队列容器 include <set> ...

c++ 为什么hashmap占用内存多
1、导入stl中的hash_map类库 include <hash_map> using namespace std;using namespace stdext;2、hash_map是一个聚合类 它继承自_Hash类,包括一个vector,一个list和一个pair,其中vector用于保存桶,list用于进行冲突处理,pair用于保存key->value结构,简要地伪码如下:class hash_map<class _T...

c++的头文件什么时候用哪个呢
看看下面这两个头文件 \/\/ 标准化后经过改造的C的标准库,所有的组件都放在了std中 #include<cstdio> \/\/ 标准化以前C++中的C标准库 #include<stdio.h> \/\/ 在看看这个头文件C标准库下 基于char* 的字符处理函数库 #include<string.h> \/\/ 在标准化以后他变成了这样 #i...

C语言写的程序,帮改成DLL
(当然,如果读者正在编译的是C程序,就不要加入extern “C”,因为不需要它,而且编译器也不接受它)。二、BOOL APIENTRY DllMain ()说明:(以下是我在网上收集的资料)1、每一个DLL必须有一个入口点,DllMain是一个缺省的入口函数。DllMain负责初始化(Initialization)和结束(Termination)工作,每当一个新的进程或者该进程...

c++中GetBitmapBits(hbmp,382822,outBuffer)?
函数原型:LONG GetBitmapBits(HBITMAP hbmp, LONG cbBuffer, LPVOID lpvBits);参数:hbmp:指向感兴趣的位图的句柄。cbBuffer:指定要从位图拷贝到缓冲区的字节数。lpvBits:指向接收位图位数据的缓冲区指针。这些位是按字节类型存储在数组中的。返回值:如果该函数执行成功,那么返回值就是拷贝到...

求程序员面试题
long,string 都不能作用于swtich。 42,编程题: 写一个Singleton出来。 Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式: 第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public...

相似回答