[C++11]推荐使用auto的场景
生活随笔
收集整理的這篇文章主要介紹了
[C++11]推荐使用auto的场景
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
推薦使用auto的場景:
1.用于STL的容器遍歷。
代碼如下:
#include <string>#include <iostream> #include <map> using namespace std;int main() {map<int, string>mp;mp.insert(make_pair(1, "Tom"));mp.insert(make_pair(2, "Mike"));mp.insert(make_pair(3, "Jack"));for (auto it = mp.begin(); it != mp.end(); it++){cout << it->first << " " << it->second << endl;}return 0; }測試結果:
2.用于泛式編程。
在使用模板的時候,很多情況下我們不知道變量應該定義為什么類型,就可以將變量定義為auto。
代碼如下:
#include <iostream> #include <string> using namespace std;class T1 { public:static int get(){return 10;} };class T2 { public:static string get(){return "hello world";} };template<typename T,typename P>//不用auto void func01() {P ret = T::get();cout << ret << endl; }template<typename T>//用auto void func() {auto ret = T::get();cout << ret << endl; }int main() {func<T1>();func<T2>();cout << "------------------------------" << endl;func01<T1, int>();func01<T2, string>();return 0; }測試結果:
總結
以上是生活随笔為你收集整理的[C++11]推荐使用auto的场景的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火龙果酒的功效与作用、禁忌和食用方法
- 下一篇: [C++11]decltype在泛型编程