标题:copy()怎么拷贝向量呢?
只看楼主
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
 问题点数:0 回复次数:7 
copy()怎么拷贝向量呢?
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string>
#include<conio.h>
#include<vector>
#include<utility> // pair 类
#include<cstddef> // sizeof
#include<list>//list类
#include<memory>  // anto_pr,自动new,delete
#include<algorithm>// copy()泛型算法
#include<iterator> //
using namespace std;
typedef vector<string> textWords;
void textCopy(vector<textWords> *p)
{
 vector<string> texts;
 vector<textWords>::iterator iter = p->begin.();
 for(;iter != p->end.();iter++)
  copy((*iter).begin(),(*iter).end(),
       backInserter(texts));
    //第3个参数标记了被拷贝元素被放置的起始位置
    for(int i=0;i<texts.size();i++)
  cout<texts.[i]<<endl;
}   
int main()
{  
 string text("wang");
 vector<string> vec(1);
 vec[0]=text;
    textCopy(vector<textWords>);
 getch();
   return 0;
}



//各位大仙, 怎么改阿
搜索更多相关主题的帖子: include 向量 vector string textWords 
2005-08-25 13:34
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
得分:0 
怎么改啊

2005-08-26 21:16
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
别的不说,我先问你,你那个
backInserter( vector<string> texts );
在哪里定义啦?

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-27 00:47
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
得分:0 
是不是vector<string> texts;是局域变量?   

 把它改成全局变量就可以了吗?

2005-08-27 08:57
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
你先回答我上面的问题, 你的程序都不完整, 当然是没法编译的.
你的程序错的一塌糊涂, 你自己实在写不来,就把原题贴上来.

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-27 09:09
想你的天空
Rank: 2
等 级:新手上路
威 望:5
帖 子:610
专家分:0
注 册:2004-12-30
得分:0 
题目是: 实现2个向量之间的复制, 要用到copy(), 和泛形算法,容器类

2005-08-27 09:21
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
#include<cstdlib>
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>// copy()·ºÐÍËã·¨
#include<iterator> //
using namespace std;

class CopyDemo
{
private:
    vector<string> strVC1;
public:
    void copyItToMe(vector<string> & anotherStrVC)
    {
        vector<string>::iterator iterBegin = anotherStrVC.begin();
        vector<string>::iterator iterEnd = anotherStrVC.end();
        vector<string>::iterator iter;
        
        int size = anotherStrVC.size();
        strVC1.resize(size);

        vector<string>::iterator iterSrcBegin = strVC1.begin();
        copy(iterBegin, iterEnd, iterSrcBegin);
    }
    void showMe()
    {
        for(int i = 0; i<strVC1.size(); i++)
        {
            string text = strVC1.at(i);
            cout<<text<<" ";
        }
        cout<<endl;
    }
};

int main()
{
    vector<string> textVC;
    string strArray[6] = { "One", "Two", "Three", "Four", "Five", "Six"};
    for(int i = 0; i<6; i++)
    {
        textVC.push_back(strArray[i]);
    }
    CopyDemo * myCopyDemo = new CopyDemo();
    myCopyDemo->copyItToMe(textVC);
    myCopyDemo->showMe();

    system("pause");
    return 0;
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-27 12:12
zinking
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:916
专家分:0
注 册:2004-12-5
得分:0 
虽然不懂,但是如此热心的斑竹,还是要顶一下!

http://kongfuziandlife. http://codeanddesign.
2005-08-30 09:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-26002-1-1.html




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

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