template<class InputIterator>
void assign(InputIterator first, InputIterator last);
: 기존의 요소를 모두 삭제하고, [first, last) 범위의 요소로 교체합니다.
<예시 코드>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec1 = { 1, 2, 3, 4, 5, 6, 7 };
vector<int> vec2 = { 2, 4, 6, 8, 10};
vec1.assign(vec2.begin(), vec2.end() - 2);
for (const int& i : vec1) {
cout << i << ' ';
}
return 0;
}
결과
void assign(size_type n, const value_type& val);
: 기존의 요소를 모두 삭제하고, n개의 val로 교체됩니다.
<예시 코드>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = { 1, 2, 3, 4, 5, 6, 7 };
vec.assign(5, 10);
for (const int& i : vec) {
cout << i << ' ';
}
return 0;
}
결과
void assign(initializer_list<value_type> il);
: 기존의 요소를 모두 삭제하고, il의 각 요소로 교체합니다.
<예시 코드>
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = { 1, 2, 3, 4, 5, 6, 7 };
vec.assign({2, 7, 9});
for (const int& i : vec) {
cout << i << ' ';
}
return 0;
}
결과
