C++11新特性 auto
【前言】 C++11这次的更新带来了令很多C++程序员期待已久的for range循环,每次看到javascript, lua里的for range,心想要是C++能有多好,心里别提多酸了。这次C++11不负众望,再也不用羡慕别家人的for range了。 【使用场景】 ex1:遍历字符串 std :: string str = “hello , world” ; for ( auto ch : str ) { std :: cout << ch << std :: endl ; } 遍历str,输出每个字符,同时用上auto,简直是如虎添翼。 ex2:遍历数组 int arr [ ] = { 1 , 2 , 3 , 4 } ; for ( auto i : arr ) { std :: cout << i << std :: endl ; } 不用知道数组容器的大小,即可方便的遍历数组。 ex3:遍历stl 容器 std :: vector < std :: string > str_vec = { “i” , “like” , "google” } ; for ( auto & it : str_vec ) { it = “c ++ ” ; } 在这段程序中,可以返回引用值,通过引用可以修改容器内容。 ex4:遍历stl map std :: map < int , std :