如何将此代码转换为C++?
string[] strarr = {"ram","mohan","sita"};
foreach(string str in strarr) {
listbox.items.add(str);
}
发布于 2010-09-06 12:19:39
std::array<std::string, 3> strarr = {"ram", "mohan", "sita"};
for(const std::string& str : strarr) {
listbox.items.add(str);
}
pre c++11
std::string strarr[] = {"ram", "mohan", "sita"};
for(int i = 0; i < 3; ++i) {
listbox.items.add(strarr[i]);
}
或
std::string strarr[] = {"ram", "mohan", "sita"};
std::vector<std::string> strvec(strarr, strarr + 3);
std::vector<std::string>::iterator itr = strvec.begin();
while(itr != strvec.end()) {
listbox.items.add(*itr);
++itr;
}
使用Boost
boost::array<std::string, 3> strarr = {"ram", "mohan", "sita"};
BOOST_FOREACH(std::string & str, strarr) {
listbox.items.add(str);
}
发布于 2010-09-06 12:15:20
在C++0x中,你有
for(string str: strarr) { ... }
但在此之前,请使用普通for循环。
发布于 2015-07-20 10:36:38
在习惯了C#中的var
关键字之后,我开始在C++11中使用auto
关键字。它们都是通过推断来确定类型的,当你只是想让编译器为你找出类型时,它们都很有用。下面是你的代码的C++11端口:
#include <array>
#include <string>
using namespace std;
array<string, 3> strarr = {"ram", "mohan", "sita"};
for(auto str: strarr) {
listbox.items.add(str);
}
https://stackoverflow.com/questions/3648951
复制相似问题