3. 유니폼 초기화
간단한 벡터를 만들고 그 안을 정수로 채우는 경우.
//c++03
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
v.push_back(4);
//c++11
vector<int> v2 {1, 2, 3, 4};
벡터 내부에 객체 타입의 데이터를 채워 넣어야 하는 경우.
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
class Person {
private:
int age;
string name;
public:
Person(const int a, const string& n):age(a), name(n){ }
int getAge() { return age; }
string getName() { return name; }
};
int main(int argc, char **argv) {
// c++03
Person p1{20, "Tom"};
Person p2{19, "Jane"};
// c++11 유니폼 초기화
vector<Person> vec {
{21, "Smith"}, {39, "John"}, {23, "Mary"}, {45, "Ted"}
};
for_each(vec.begin(), vec.end(), [](Person p) {
cout<<p.getAge()<<", "<<p.getName()<<endl;
});
return 0;
}