关于vector<pair<int,int>>
vector的这种用法有点类似于map。
与map不同的是:
map会对插入的元素按键自动排序,而且不允许键重复。
vector的这种用法不会自动排序,而且允许重复。
向容器中存放元素时应使用如下方法:
power.emplace_back(make_pair(1,1));
power.emplace_back(2,2);
power.push_back(pair<int,int>(10,50));
例如:
#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char** argv) {
vector<pair<int,int> > power;
power.emplace_back(make_pair(1,1));
power.emplace_back(2,2);
power.emplace_back(1,1);
//遍历输出
for(int i=0;i<power.size();i++){
cout<<power[i].first<<","<<power[i].second<<endl;
}
//使用迭代器也可以遍历输出
vector<pair<int,int> > ::iterator iter; //访问vector
for(iter=power.begin();iter!=power.end();iter++)
{
cout<<iter->first<<","<<iter->second<<endl;
}
return 0;
}
关于getline
getline()函数可以让我们很方便的输入一串字符串。getline()不仅简单,而且安全,因为全局函数 getline() 会帮你处理缓冲区用完之类的麻烦。
常见的getline()函数语法有两条:
istream &getline( char *buffer, streamsize num, char delim );
istream &getline( char *buffer, streamsize num );
其中的buffer、num、delim的意思分别为
buffer: 进行读入操作的输入流
num 存储读入的内容
delim 终结符
关于stringstream
参考:(6条消息) C++编程语言中stringstream类介绍_liitdar的博客-CSDN博客_stringstream
关于string find函数