现在我们有这样一坨代码:
std::vector<int> arr;
// ...
for(std::vector<int>::iterator iter = arr.begin(); iter != arr.end(); ++iter)
{
// ...
}
其中难看而又不好维护的std::vector::iterator,由于我们无法自动获知arr.begin()的类型,从而不得不一写再写。
C++11下有typeof和auto关键字,于是像上面第3行那样纠结的位置可以变得简单不少:
std::vector<int> arr;
// ...
for(auto iter = arr.begin(); iter != arr.end(); ++iter)
{
// ...
}
在vc下(2005、2008、2010)对这两个关键......
阅读全文