C++11之auto与decltype
auto 看介绍,auto实际上是在编译期间就对变量进行了类型推导,所以在程序的实际运行过程中不会对运行效率产生影响.因此可以说auto就类似一个占位符,只不过在编译期间被替换为实际的类型. auto最大的作用应该就是将代码变得简洁,易读.比如在使用迭代器的时候,通常需要写一大串的类型,而此时只需要使用auto即可: for (std::vector<int>::const_iterator itr = myvec.cbegin(); itr != myvec.cend(); ++itr) //使用auto for (auto itr = myvec.cbegin(); itr != myvec.cend(); ++itr) 但是最好不要在接收函数的返回值时使用auto,这会降低代码的可读性: sometype var = func_xxx(var); auto var = func_xxx(var); decltype decltype可以在编译期间确定表达式的类型,比如: int v1; … “C++11之auto与decltype”
Read More