1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      foreach的c++實(shí)現(xiàn)

      更新時間: 2012-02-11 10:13:57來源: 粵嵌教育瀏覽量:4757

          C#和java中都有foreach,foreach可以減少代碼的長度和復(fù)雜性讓程序更為簡單。

          int main() {
          int a[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
          vector<int> v(a, a + sizeof(a) / sizeof(a[0]));
          foreach (int x, v) {
              cout << x << endl;
          }
          return 0;
          }

          c++的實(shí)現(xiàn)方法為(copy QT代碼)

          template <typename T>
          class ForeachContainer {
          public:
          inline ForeachContainer(const T& t) : brk(0), i(t.begin()), e(t.end()) { }
          int brk;
          typename T::const_iterator i, e;
          };
       
          #define FOREACH(variable, container)                                  \
          for (ForeachContainer<__typeof__(container)> _container_(container);  \
           !_container_.brk && _container_.i != _container_.e;              \
           __extension__  ({ ++_container_.brk; ++_container_.i; }))        \
          for (variable = *_container_.i;; __extension__ ({--_container_.brk; break;}))
       
          #define foreach FOREACH

      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 日韩亚洲欧美另类一区 | 亚洲精品91在线播放 | 一本大道在线一本久道少妇 | 五月婷婷婷综合色 | 伊人久久综在合线亚洲第一页 | 亚洲精品视频三级在线看 |