-
list不能用下标来访问,要使用迭代器来进行对list操作 map插入数据只能使用insert,而不能和vector,list一样使用push_back,map是可以使用索引[]来进行操作的 map的访问使用first和scond来进行访问,因为是一对值,不能直接打印查看全部
-
使用vector存储数字3,6,8,4,并遍历。 使用map存储S-Shang Hai B-Bei Jing G-Guang Zhou,并遍历查看全部
-
vector是对数组的封装,大小可以根据元素数量改变。 list的特点是数据插入速度快。 map需要与pair一起使用,用来存储多个key-value对。 不同厂商的标准模板库的实现细节可以不同,基本用法及原理相同。查看全部
-
链表list:数据插入速度快。使用方法与向量的类似。 映射map:key—value。通过key 得到value。通过pair定义对,pair<int,string> p1(10,’shanghai’); 访问与数组类似,即m[key]. 映射map和数组类似,相当于非关联数组pair<string,string> p1('S','shanghai')。查看全部
-
STL:Standard Template Lib 标准模板库 Vector :本质对数组的封装。特点,在随机读取时,能在常数时间内完成。 遍历向量 方法1:可用与数组一样的方法遍历向量,即V[i]; 方法2:迭代器iterator,可访问STL对象中的每个元素。 定义方法:vector<向量中存放的数据类型>::标识定义的迭代器是向量的迭代器,后面跟着迭代器的名字。迭代器指向当前向量的第一个元素,只有在向量需将第一个元素赋给迭代器时才会用到.begin();像指针一样可以++,用*得到迭代器当前所指向的元素。 迭代器相当于一个数组的指针,用来代替数组来访问数组中的每一个元素,因为更加的方便,Citer.end()是表示最后一个数组的下一个元素,并不是最后一个元素查看全部
-
定义一个矩形类模板 该模板中含有计算矩形面积和周长的成员函数 数据成员为矩形的长和宽。查看全部
-
定义一个类模板就相当于定义了一系列功能相同类型不同的类 定义类模板需要使用关键字template 定义类模板的参数可以使用typename和class,可以混用 模板参数既可以是类型,也可以是变量查看全部
-
何时用到类模板??类重复使用时,只有数据成员的类型不同,其他都一样。 类模板的使用方法。 同函数模板,定义类模板时不产生代码,实例化对象后才有。 类外定义的注意事项: 1、template要写在每个成员函数定义的前面 2、定义时记得用尖括号括起来,把参数列表写在里面 模板代码不能分离编译,必须将所有代码在.h文件中。 避免冗余的方法:1、使用虚继承。2、使用模板(函数模板,类模板)查看全部
-
定义一个函数模板,功能是交换两个数的位置查看全部
-
函数模板的参数个数可以是一个也可以是多个。 使用函数模板时,需要指定模板参数,此时的函数称为模板函数。 当需要定义多个功能相同,数据类型不同的函数时,可以使用函数模板来定义。 函数模板参数个数如果为0个,则没有必要使用函数模板查看全部
-
函数模板与模板函数查看全部
-
函数模板:将类型作为参数传递,由计算机实现不同函数,根据传入的数据类型,进行相应处理。 typename、class 作用相同,表明数据类型 定义函数模板:template 声明函数模板,<class T> 声明参数类型 仅函数模板,不会产生代码数据。仅当使用模板时,才会产生代码,参与逻辑运行。 变量作为模板参数,使用时传入确定的值。 多参数函数模板,注意分隔的','不能省。使用时传入两个类型。 混用:类型名与变量作为模板参数。 typename、class 可混用。 函数模板与重载:函数模板间不存在重载关系,只有在使用时,产生的函数代码才存在重载关系。查看全部
-
输出运算符友元函数重载 输出运算符不能使用成员函数重载。原因:成员函数重载第一个参数为this指针,而输出运算符重载要求第一个参数必须为ostream类型的参数 []索引运算符必须采用成员函数进行重载,因为传入的第一个参数必须是this指针,才能找到索引的数据成员。查看全部
-
一元运算符的重载典型查看全部
-
vetor的大小可以根据具体要求随时改变查看全部
举报
0/150
提交
取消