
用的是c++ map的insert方法。
函数定义:
single element (1) 插入单个元素 队尾插入
pair<iterator,bool>insert (const value_type&val)
with hint (2) 插入单个元素 在position的位置插入
iterator insert (iterator position, const value_type&val)
range (3) 插入一串元素 一般用的是另一个map中的,从开始到结束
template <class InputIterator> void insert (InputIterator first, InputIterator last)
示例:
// map::insert (C++98)#include <iostream>
#include <map>
int main ()
{
std::map<char,int> mymap
// first insert function version (single parameter):第1种
mymap.insert ( std::pair<char,int>('a',100) )
mymap.insert ( std::pair<char,int>('z',200) )
std::pair<std::map<char,int>::iterator,bool> ret
ret = mymap.insert ( std::pair<char,int>('z',500) )
if (ret.second==false) {
std::cout << "element 'z' already existed"
std::cout << " with a value of " << ret.first->second << '\n'
}
// second insert function version (with hint position):第2种
std::map<char,int>::iterator it = mymap.begin()
mymap.insert (it, std::pair<char,int>('b',300)) // max efficiency inserting
mymap.insert (it, std::pair<char,int>('c',400)) // no max efficiency inserting
// third insert function version (range insertion):第3种
std::map<char,int> anothermap
anothermap.insert(mymap.begin(),mymap.find('c'))
// showing contents:
std::cout << "mymap contains:\n"
for (it=mymap.begin() it!=mymap.end() ++it)
std::cout << it->first << " => " << it->second << '\n'
std::cout << "anothermap contains:\n"
for (it=anothermap.begin() it!=anothermap.end() ++it)
std::cout << it->first << " => " << it->second << '\n'
return 0
}
你的程序的while循环条件有问题,只有在输入为0时,才往vector中添加元素。
应该是笔误~~
while(cin>>ival&&ival!=0)//ival==0修改后测试验证OK。
如果我没有理解错误的话,3和4行实现了同样的 *** 作,就是把name这个字符串放到attrNameArray这个容器里面,然后吧这个容器放到m_clAttrNameArray。如果写这个代码的人是使用过STL库的,那么我可以推断push_back是在容器的最后放入元素。这个方法来自于vector这个容器。示例代码如下:
/*Author: qcq
Date: 2015/5/12
E-mail: qinchuanqing918@163.com
*/
#include<iostream>
#include<vector>
using namespace std
int main(){
vector<int> data
for (int i = 0 i < 10 i++){
data.push_back(i + 2)
}
for (vector<int>::iterator temp = data.begin() temp != data.end() temp++){
cout << *temp << endl
}
return 0
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)