如果只在一个cpp里面用漏仔搭,那么在这个cpp所有使用之前就可以。
通常,习惯返拿戚巧于放到.h头文件中。
全局多个地方都使用的结构体,可以放到app类头文件,或者stdafx.h中。
1. map最基本的构造函数;map<string ,int>mapstringmap<int,string >mapint
map<sring,char>mapstringmap<char ,string>mapchar
map<char,int>mapcharmap<int ,char>mapint;
2. map添加数据;
map<int ,string>maplive
1. maplive.insert(pair<int,string>(102,"aclive"))
2. maplive.insert(map<int,string>::value_type(321,"hai"))
3. maplive[112]="April"//map中最简单最常用的插入添加!
3. map中元素的查找:
find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。
map<int ,string >::iteratorl_it
l_it=maplive.find(112)//返回的是一个指针
if(l_it==maplive.end())
cout<胡蔽<"we do not find112"<<endl
elsecout<<"wo find112"<<endl
map<string,string>m
if(m[112]=="")
cout<<"we do not find112"<<endl
4. map中元素的删除:
如果删除112;
map<int ,string>::iterator l_it
l_it =maplive.find(112)
if( l_it == maplive.end())
cout<<"we do not find112"<<endl
else maplive.erase(l_it)//delete 112
5. map中 swap的用法:
Map中的swap不是一个容器中的元素交换,而是两个容器交换;
For example:
#include<map>
#include<iostream>
usingnamespace std
int main()
{
map <int, int>m1, m2, m3
map <int,int>::iterator m1_Iter
m1.insert( pair <int, int>(1, 10 ) )
m1.insert ( pair <int,int>( 2, 20 ) )
m1.insert ( pair <int,int>( 3, 30 ) )
m2.insert ( pair <int,int>( 10, 100 ) )
m2.insert ( pair <消做物int,int>( 20, 200 ) )
m3.insert ( pair <int,int>( 30, 300 ) )
cout <<"The original map m1is:"
for ( m1_Iter = m1.begin( ) m1_Iter != m1.end() m1_Iter++ )
cout <<" "<<m1_Iter->second
cout <<"."<<endl
// This isthe member function version of swap
// m2 is said to be theargument mapm1 the target map
m1.swap( m2)
cout <<"Afterswapping with m2, map m1 is:"
for ( m1_Iter = m1.begin( ) m1_Iter != m1.end() m1_Iter++ )
cout <<" "<<m1_Iter ->second
cout <<"."<<endl
cout <<"After swapping with m2, mapm2 is:"
for ( m1_Iter = m2.begin( )m1_Iter != m2.end()m1_Iter++ )
cout <<" "<<m1_Iter ->second
cout <<"."<<endl
/拿液/ This is the specialized template version of swap
swap( m1, m3 )
cout <<"Afterswapping with m3, map m1 is:"
for ( m1_Iter = m1.begin( )m1_Iter != m1.end()m1_Iter++ )
cout <<" "<<m1_Iter ->second
cout <<"."<<endl
}
首先,定义一个结构的一般形式为:
struct结构名{
//成员表列
帆晌 }
成员表态枝锋由若干个成员组成, 每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明,其形式为:“类型说明符 成员名”。成员名的命名应符合标识符的书写规定。例如:
struct stu{
int num
char name[20]
char sex
float score
}
在这个结构定义中,结构名为stu,该结构由4个成员组成。 第一个成员为num,整型变量;第二个成员为name,字符型数组;第三个成员为sex,字符型变量;第四个成员为score,浮点型变量。 应注意在括号后的分号是必不可少的。
然后,当结构定搭野义完成后,即创建了一种数据类型,可以像int、float等内置类型一样使用,以上面定义的stu结构体来和int类型对比着看。
int a//定义一个int类型的变量a
stu a //定义一个stu类型的变量a
int *p //定义一个int类型的指针p
stu *p //定义一个stu类型的指针p
int a[10]//定义一个int类型的数组a,它有10个元素,每个元素是int类型
stu a[10]//定义一个stu类型的数组a,它有10个元素,每个元素是stu类型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)