아는 내용이 많기에 몰랐던 내용위주로 정리
- auto는 기본 const, &는 무시된다.
auto a = 3;
int& reference = a;
const int cst = a;
auto test1 = reference; // auto = int
auto test2 = cst; // auto = int
// const와 &는 무시되고 auto에 들어간다.
// Example
vector<int> v;
v.push_back(1);
v.push_back(2);
v.push_back(3);
for(vector<int>size_type i = 0; i < v.size(); i++)
{
auto data = v[i]; // auto = int&를 원함
data = 100; // &가 무시되기에 이게 안먹음.
}
- 단, auto를 너무 난발할 경우 가독성이 떨어지기에… 상황에 맞게… 쓰자
그 상황이란게 언제일까?
map<int, int> m;
auto ok = m.insert(make_pair(1, 100));
for(auto it = v.begin(); it != v.end(); ++it)
{
// ...
}