STL中copy函数注意地方
来源:互联网 发布:男士化妆品冬季 知乎 编辑:程序博客网 时间:2024/06/11 05:15
使用copy函数或copy_backward函数极有可能产生数组越界的可能,所以我们在copy前,一定要将vector数组resize 好,否则就会RE。给个RE的例子:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector <int> array,target;
int n;
cin>>n;
for(int i=0;i<n;i++)
{
int t;
cin>>t;
array.push_back(t);
}
copy(array.begin(),array.end(),target.begin());
for(vector <int> ::iterator iter=target.begin();iter!=target.end();iter++)
cout<<*iter<<" ";
cout<<endl;
return 0;
}
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
}
很明显,这个程序肯定RE了,因为target 这个vector向量里还没有分配任何的空间,我们已经知道使用copy函数只需要知道拷贝来源元素的个数就行了,那么我们只需在调用copy函数前加上一句:target.resize(array.size());就可以得出正确的结果。
阅读全文
0 0
- STL中copy函数注意地方
- myeclipse中copy struts2项目时注意的地方
- STL中copy函数使用的例子
- STL中copy涉及到的memmove函数
- C++使用STL中map需要注意的地方
- STL copy函数
- STL copy()函数用法
- 虚函数中调用虚函数要注意的地方
- STL中copy算法
- c++STL中copy函数的用法解读
- Oracle中count()函数需要注意的地方
- stdlib.h中system函数一定需要注意的地方
- PYthon 中函数编写时需要注意的地方
- STL删除元素要注意的地方
- c++STL 中的copy函数
- 初识STL中的copy函数
- 组函数 注意的地方
- 对stl的set中元素进行删除时需注意的地方
- tomcat配置多域名,无端口,发布项目
- c++学习(一)
- 如何优雅地调试手机网页?
- [leetcode462] Minimum Moves to Equal Array Elements II
- R中中文分词包Rwordseg的下载与离线安装
- STL中copy函数注意地方
- OpenStack云平台网络模式(flat\flatdhcp\vlan)及其工作机制
- Spring MVC之@RequestMapping 详解
- 二分查找法的两种写法
- C语言中static全局变量与普通的全局变量的区别
- 《sar访谈》-linux命令五分钟系列之二十九
- intellij idea tomcat jsp 热部署
- gcc生成静态库和动态库
- 频率域低通滤波