auto
auto是一个设计者十分用心良苦的关键字,它的功能非常强大也非常友好,我估计我之后会多次修改本文,不费话了。
1.从初始化中推断数据类型,当我们懒得写名字(特别是那种很长的带泛型的带STL的名字),而且能确定其类型无二义编译器推得出来,就可以用auto代替了,比如初始化数据就是。格式:
x = expression;
例如:
auto x = 7;
或:
for (auto ite = v.begin(); ite != v.end(); ++ite)
{
//...
}
另外,有时候我们会遇到一些自己难以确定的类型,但是编译器却很清楚,看例子:
template<class T,class U>
void f(vector<T> &vt, vector<U> &vu)
{ //...
for (auto i = 0; i < n; ++i)
auto res = vt[i] * vu[i];
}
上例中的res,我们就不好写出他的类型,但是此时用auto就很实用了。
待续。。。