// C++
#include <iostream>
#include <vector>
using std::cout;
using std::endl;
using std::vector;
int main()
{
vector<int> vec{ 1,2,3 };
int& num = vec[0];
cout << num << endl;
vec.reserve(vec.capacity() + 1);
vec[0] = 100;
cout << num << endl;
}
Output:
1
-572662307
// C++
#include <iostream>
#include <deque>
using std::cout;
using std::endl;
using std::deque;
int main()
{
deque<int> nums;
nums.push_back(1);
cout << nums[0] << endl;
cout << &nums[0] << endl;
nums.push_front(10);
cout << nums[1] << endl;
cout << &nums[1] << endl;
}
Output:
1
00EAB8E8
1
00EAB8E8
// C++
#include <iostream>
#include <list>
using std::cout;
using std::endl;
using std::list;
bool condition(const int& value)
{
return value % 2 == 0;
}
int main()
{
std::list<int> list0{ 1,2,3 };
std::list<int>::iterator iter = list0.begin();
std::advance(iter, 2); // iter의 주소에서 2번 이동.
cout << *iter << endl;
//std::sort(); // 랜덤 액세스가 가능한 객체들만 사용이 가능하다. (첨자 연산이 가능한 객체)
list0.sort(); // 내부적으로 sort가 있다.
list0.remove_if(condition); // 특정 조건의 데이터만 remove
std::list<int> list1{ 1,2,3 };
list0.merge(list1);
}
// C++
#include <iostream>
#include <forward_list>
#include <list>
using std::cout;
using std::endl;
using std::forward_list;
using std::list;
int main()
{
list<int> list0{ 1,2,3 };
list0.insert(list0.begin(), 10);
forward_list<int> flist0{ 1,2,3,4 };
flist0.insert_after(flist0.begin(), 10);
for (int num : list0)
cout << num << ", ";
cout << endl;
for (int num : flist0)
cout << num << ", ";
}
Output:
10, 1, 2, 3,
1, 10, 2, 3, 4,