○vectorの複製(copy)
■複製
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <functional>
struct cell{
int no;
char str[64];
};
int main(){
std::vector<cell> data;
cell a;
a.no = 1;strcpy(a.str,"1です");
data.push_back(a);
a.no = 2;strcpy(a.str,"2です");
data.push_back(a);
a.no = 3;strcpy(a.str,"3です");
data.push_back(a);
a.no = 4;strcpy(a.str,"4です");
data.push_back(a);
a.no = 5;strcpy(a.str,"5です");
data.push_back(a);
std::vector<cell> resolt(data.size());//サイズを確保して宣言
std::copy(data.begin(),data.end(),resolt.begin());//複製
data.erase(&data[0],&data[3]);//選択範囲を消す
{for(int i=0;i<data.size();i++) printf("%s\n",data[i].str);}
printf("\n");
{for(int i=0;i<resolt.size();i++) printf("%s\n",resolt[i].str);}
return 0;
}
処理結果
4です
5です
1です
2です
3です
4です
5です
▲トップページ
>
Windows と C++