我想撰寫一個可以回圈的結構。為此,我添加了兩個方法 begin 和 end ,它們將回傳 begin 和已經存在的向量的 end 值。我應該指定什么回傳型別,這兩種方法是否足以使 MATCH 結構在我的背景關系中作業?這是我到目前為止所得到的:
typedef std::pair<std::string, std::string> combo;
struct MATCH {
std::vector<combo> matches;
? begin() { return matches.begin(); }
? end() { return matches.end(); }
};
int main() {
MATCH m = { ... };
for (const combo& i : m)
...;
}
uj5u.com熱心網友回復:
我認為您正在尋找的型別是std::vector<combo>::iterator.
例子:
typedef std::pair<std::string, std::string> combo;
struct MATCH {
std::vector<combo> matches;
std::vector<combo>::iterator begin() { return matches.begin(); }
std::vector<combo>::iterator end() { return matches.end(); }
};
int main()
{
MATCH m = { { {"something", "something"} } };
for (const combo& i : m)
cout << i.first << " " << i.second << std::endl;
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/405893.html
標籤:
上一篇:嵌套for回圈:錯誤變數已定義
下一篇:希望遍歷跳過特定索引的串列串列
