○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++