1. 단일 pair assign

assign은 (자료구조->자료구조)로 동일한 구조일 때 복사 붙여 넣기가 가능하다.

map이나 set으로 중복제거, 정렬 후 vector(간편한)를 이용하여 코드를 작성할 때 assign이 유용해 보인다.

 

코드

	vector<int> first;
	vector<int> second;
	vector<int> third;
	int myints[] = { 1776,7,4 };

	//1
	first.assign(7, 100);//100을 7번 반복해서 집어넣음.
	vector<int>::iterator it;
	it = first.begin() + 1;

	//2
	second.assign(it, first.end() - 1); // first의 처음과 끝을 제외한 원소들 넣는다.

	//3
	third.assign(first.begin(), first.end());

	//4
	third.assign(myints, myints + 4);

2. 다중 pair assign 

코드

	map<string, int> m;
	vector<pair<string, int>> v;
	map<string, vector<pair<int, int>>> mm;
	vector<pair<string, pair<int, int>>> vv;

	//5
	m.insert({ "1", 1 });
	m.insert({ "2", 2 });
	m.insert({ "3", 3 });
	m.insert({ "4", 4 });
	v.assign(m.begin(), m.end());

	//6
	vector<pair<int, int>> vm;
	vm.push_back({ 1,2 });
	mm.insert({ "str",vm });

	vv.push_back({ "str",{1,2} });
	vv.push_back({ "str",{ 1,2 } });
	vv.push_back({ "str",{ 1,2 } });
	vv.push_back({ "str",{ 1,2 } });
	vv.push_back({ "str",{ 1,2 } });
	vv.push_back({ "str",{ 1,2 } });

	int temp = vv.front().second.first;

	vv.assign(mm.begin(), mm.end());

'C++' 카테고리의 다른 글

[C++] 포인터(Pointer)와 레퍼런스(Reference : 참조자)의 차이  (0) 2020.07.22
[C++] char*, const char*, char* const  (0) 2020.07.21
C++ 동적할당  (0) 2020.07.14
C++ iterator, auto  (0) 2020.06.29
C++ ODBC (Open DataBase Connectivity)  (0) 2020.06.26

+ Recent posts