반응형
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 |