for_each

上個禮拜鄞老丟了一本書給我
XNA PC / Xbox 360 C#遊戲程式設計
是書商贈閱的(當然是希望指定教科書=_=)
關於內容有機會再提,這次重點是在書中C#使用到的 foreach
不錯用!
當我看到使用方式的時候這麼想的,主要是程式看起來更漂亮XD

C#的用法大致如下:

 int[ ] numbers = { 4, 5, 6, 1, 2, 3, -2, -1, 0 };
 foreach (int i in numbers)
 {
     System.Console.WriteLine( i );
 }

真棒啊~C++有沒有相同的東西咧?相信你也這麼想
今天無意間看到 STL 裡面竟然有 for_each
大略找了一下資料,似乎需要和容器(std::vector之類)搭配使用
複雜了許多就是,還在考量是否有使用的價值(遠望)

 // 首先要 include <algorithm>
 #include <algorithm>
 // 再來一個 vector
 #include <vector>

 // 使用 std 命名空間
 using namespace std;

 // 定義一個後面要用到的函式
 void Show( int i )
 {
     cout << i << endl;
 }

 int main()
 {
     // 建立一個容器
     vector< int > IntBin;
 
     // 塞點資料
     IntBin.push_back( 1 );
     IntBin.push_back( 3 );
     IntBin.push_back( 5 );
     IntBin.push_back( 7 );

     // 依序 show 出來, 這裡呼叫上面已經定義好的函式 Show()
     for_each( IntBin.begin(), IntBin.end(), Show );

     system("pause");
     return 0;
 }

這是最陽春的使用方式,進階用法有機會在補上吧
其他注意事項就參考連結吧~呵呵

參考:


–End

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s