C++ vector 赋值

来源:互联网 发布:linux syslink命令 编辑:程序博客网 时间:2024/06/10 04:54
vector<int>ivec1(10,42); //内置方法,初始化的内容为10个42 print(ivec1.begin(),ivec1.end());  vector<int>ivec2(10); vector<int>::size_type ix=0; for(ix;ix<10;++ix) {   ivec2[ix]=42; //下标操作 } print(ivec2.begin(),ivec2.end());  vector<int>ivec3(10); for(vector<int>::iterator iter=ivec3.begin();iter!=ivec3.end();++iter) {   *iter=42; //迭代器 } print(ivec3.begin(),ivec3.end());  //下面两种方法最佳,他们使用标准库定义的操作,无须再定义vector对象时指定容器的大小。比较灵活且不容易出错. vector<int>ivec4; vector<int>::iterator iter=ivec4.end(); for(int i=0;i!=10;++i) {   ivec4.insert(iter,42); //在指定位置iter前插入值为的元素,返回指向这个元素的迭代器,    iter=ivec4.end(); } print(ivec4.begin(),ivec4.end());  vector<int>ivec5;  vector<int>::size_type cnt=1; for(cnt;cnt<=10;++cnt) {   ivec5.push_back(42); //push_back()添加值为的元素到当前vector末尾 }print(ivec5.begin(),ivec5.end());  int arr[10] = {0,1,2,3,4,5,6,7,8,9};vector<int> ivec5(arr,arr+10); // 数组数值print(ivec5.begin(),ivec5.end());// 6std::vector<unsigned short> vec1(m_line.rf, m_line.rf + kFrameCols);// 7g_vecDeviceInfoStorage.clear();g_vecDeviceInfoStorage.shrink_to_fit();std::copy(m_line.rf, m_line.rf + kFrameCols, std::back_inserter(g_vecDeviceInfoStorage));// 8std::vector<unsigned short> vec2;for (int i = 0; i < kFrameCols;++i){vec2.push_back(m_line.rf[i]);}


0 0
原创粉丝点击