我正在寻找适合几行的 C++/STL 代码的实用和教育示例。我最喜欢的是:
-
清空向量以释放其保留的内存:
vector <...>().swap (v)
(与临时交换)
-
将地图复制到向量:
map<T1, T2> myMap;
vector< pair<T1, T2> > myVec(myMap.begin(), myMap.end());
// or
myVec.assign(myMap.begin(), myMap.end());
-
定制、非升压拆分:
vector<string> &mysplit(const string &s, char delim, vector<string> &elems) {
stringstream ss(s);
string item;
while(getline(ss, item, delim)) { elems.push_back(item); }
return elems;
}
我最喜欢的是将容器复制到输出:
并将输入流复制到容器中。
#include <vector>
#include <algorithm>
#include <iterator>
#include <iostream>
int main()
{
std::vector<int> data;
std::copy(std::istream_iterator<int>(std::cin),
std::istream_iterator<int>(),
std::back_inserter(data)
);
std::copy(data.begin(),data.end(),
std::ostream_iterator<int>(std::cout,"\n")
);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)