-
模版代码不能分离查看全部
-
不可传递;单向性;形式数量不定。查看全部
-
作为一个类,他对外如何暴露是十分重要的。因而建议写在public 前面查看全部
-
友元函数会破坏函数封装性,所以除非特殊需要,不使用 友元函数。查看全部
-
vector常用函数查看全部
-
后置++查看全部
-
运算符重载的本质查看全部
-
运算符重载的含义查看全部
-
static使用注意事项查看全部
-
友元只是封装的一种补充查看全部
-
友元的注意事项查看全部
-
#include <vector> #include <map> #include <string> #include <iostream> using namespace std; int main(void) { // 使用vector存储数字:3、4、8、4 vector<int> vec; vec.push_back(3); vec.push_back(6); vec.push_back(8); vec.push_back(4); vector<int>::iterator itor=vec.begin(); //循环打印数字 for(; itor != vec.end();itor++) { cout<<*itor<<endl; } // 使用map来存储字符串键值对 map<string, string> m; pair<string,string> p1("S","Shang Hai"); pair<string,string> p2("B","Bei Jing"); pair<string,string> p3("G","Guang Zhou"); m.insert(p1); m.insert(p2); m.insert(p3); // 打印map中数据 map<string,string>::iterator itorm=m.begin(); for( ;itorm!=m.end();itorm++ ) { cout<<itorm->first<<"-"<<itorm->second<<endl; } return 0; }查看全部
-
list的特点是数据插入速度快 map需要与pair一起使用,用来存储多个key-value对 不同厂商的标准模板库的实现细节可以不同,基本用法及原理相同 vector是对数组的封装,对象被实例化,其大小是可以改变的查看全部
-
vec.begin()方法返回一個iterator 類型 類似一個指針可以反參考來取指向得值 cout<<*(vec.begin()) 是可行的 <<並沒有被重載以識別iterator ++有被重載可以遞增iterator 請問是客戶端操作幾次++運算,iterator永遠不會越界,也就是說iterator永遠小於vec.end()? 因此循環的判斷式可以寫成itor != vec.end(),等價於itor < vest.end()? vec.front()返回的是第一個元素的參考 因此vec.front()與vect[0]返回的值是一樣 打印&vec.front()與&vec[0]結果也一樣查看全部
-
list:链表,会有一个头结点,也就是第一个结点,如果一个结点都没,就称为空链表 结点由两部分组成:一部分是数据部分,也叫做数据域,另一部分是指针部分,指针部分用于将各个结点串起来 链表的特点:数据插入速度快 映射:map 存储的数据都是成对出现的,可以通过键找到值 map <int ,string > m;pair<int ,string > p1(10,"shanghai");pair<int ,string > p2(20,"beijing"); m.insert(p1);m.insert(p2); cout <<m[10]<<endl;cout <<m[20]<<endl; 标准模板库:STL 向量:本质就是对数组的封装,可以根据存储的元素的个数,自动的变长或者缩短,并且能够在常数时间完成读取 用迭代器进行遍历,迭代器是:iterator,通过迭代器就可以访问标准模板库对象中的每一个元素 vector<string>::iterator citer = vec.begin(); vec.end()指的是citer的最后一个元素的下一个元素 迭代器既可以++,也可以--,打印迭代器的值,要在迭代器的前面加一个*号,表示迭代器指向元素的本身查看全部
举报
0/150
提交
取消