如何用C++来写C#中的foreach循环?我搞了半天还没有搞清白?

解决方案 »

  1.   

    不太明白楼主的意思。
    是想模拟吗?反正C++语言本身是不支持这种动态机制的。
    C++ STL中的for_each算法跟这个不是一回事。
      

  2.   

    C#从语言语法的层次上直接支持foreach形式的遍历,于是程序设计者可以从更高级的抽象层次上看待一个“集合”以及其中的元素。这的确是个很迷人的特性,呵呵。
    可是并非每一种语方都支持啊。
      

  3.   

    嗯,如果你是写托管代码的话,就用C++/CLI里面的foreach语句
      

  4.   

    C#的foreach是通过实现System.Collections.IEnumberable接口来实现的.
    IEnumberator GetEnumerator()IEnumberator
    Current
    MoveNext()
    Reset()
      

  5.   

    http://msdn.microsoft.com/library/default.asp?url=/library/chs/csref/html/vclrfusingforeachwithcollections.asp
      

  6.   

    关键是实现借口,但从底层来讲。不知道,Sofa...
      

  7.   

    并没有什么神秘的, 只是.net的编译器内置的算法而已,
    编译成汇编(MISL)后, 还是一串函数调用
      

  8.   

    c++中的地址越界一直都是一个难以把握的问题,所以java和C#才限制了指针
      

  9.   

    http://uk.builder.com/programming/java/0,39026606,20265281,00.htm
    http://anthony.liekens.net/index.php/Computers/CppForeach