Why does C++ not allow multiple types in one auto statement? -- StackOverflow
Recently on SO:
Why does C++ not allow multiple types in one auto statement?
The 2011 C++ standard introduced the new keyword
auto, which can be used for defining variables instead of a type, i.e.auto p=make_pair(1,2.5); // pair<int,double> auto i=std::begin(c), end=std::end(c); // decltype(std::begin(c))In the second line,
iandendare of the same type, referred to asauto. The standard does not allowauto i=std::begin(container), e=std::end(container), x=*i;when
xwould be of different type. My question: why does the standard not allow this last line? ...

A nice short overview of when you might want your associative container to use a contiguous implementation instead of a tree under the covers:
Life'n'gadget just published a nice overview of the basic C++ compilation model, useful for people who are new to programming in C++.
The
ODB