| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1184 人关注过本帖
标题:小问题:copy(v.begin(),v.end(),u.end());
取消只看楼主 加入收藏
longlao
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-1-2
收藏
 问题点数:0 回复次数:1 
小问题:copy(v.begin(),v.end(),u.end());
题目是这样的  它问
vector<int> v(10,100);
vector<int> u;
copy(v.begin(),v.end(),u.begin());

就是把v复制到u里拉
但我写
#include<iostream>
#include<vector>
#include<algorithm>
#include<iterator>
using namespace std;
int main()
{
    vector<int> v(10,100);
    vector<int> u;
    copy(v.begin(),v.end(),u.begin());
    vector<int>::iterator it=u.begin();
    for(;it!=u.end();it++)
    {
        cout<<*it<<endl;
    }
    return 0;
}
我想结果是10个100,但运行后出错,别人告诉我是,但u没有足够空间  
要我用使用插入迭代器,我把u.begin()换成back_inserter(u)后运行成功了
但我还是不懂为什么u没有足够空间,是从u.begin()开始插入啦,难道u的空间是0?
还有,如果我非要用题目中的那段程序写应该怎样写呢??
搜索更多相关主题的帖子: begin end 
2008-09-05 21:41
longlao
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-1-2
收藏
得分:0 
谢谢
2008-09-11 22:41
快速回复:小问题:copy(v.begin(),v.end(),u.end());
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014060 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved