Foreach loop in C++ equivalent of C#

前端 未结 11 1767
礼貌的吻别
礼貌的吻别 2020-12-13 01:20

How would I convert this code to C++?

string[] strarr = {\"ram\",\"mohan\",\"sita\"};    
foreach(string str in strarr) {
  listbox.items.add(str);
}
         


        
11条回答
  •  情深已故
    2020-12-13 02:02

    The simple form:

    std::string  data[] = {"ram","mohan","sita"};
    std::for_each(data,data+3,std::bind1st(std::mem_fun(&Y::add), &(listbox.items)));
    

    An example in action:

    #include 
    #include 
    #include 
    #include 
    
    class Y
    {
        public:
          void add(std::string value)
          {
              std::cout << "Got(" << value << ")\n";
          }
    };
    class X
    {
        public:
          Y  items;
    };
    
    int main()
    {
        X listbox;
    
        std::string  data[] = {"ram","mohan","sita"};
        std::for_each(data,data+3,std::bind1st(std::mem_fun(&Y::add), &(listbox.items)));
    }
    

提交回复
热议问题