1
比方說,我有一個這樣的結構:C++ 11的設定範圍根據使用結構爲元素
struct Something{
string name;
int code;
};
而且一套東西類型:
set<Something> myset;
myset.insert({"aaa",123,});
myset.insert({"bbb",321});
myset.insert({"ccc",213});
這有什麼錯呢?
for (auto sth : myset){
cout << sth.name;
cout << sth.code;
}
按照同樣的思路......我爲什麼不能修改元素使用這樣的事情(即使該集合包含普通int項目)?
for (auto &sth : myset){
sth=[some value];
}
我知道我可以用矢量和地圖做到這一點。爲什麼不設置?
謝謝!
謝謝!我現在明白了。第一部分呢?我沒有修改元素,只是試圖讀取它們,只是它們是結構的成員。爲什麼不允許? –
您應該可以使用常量自動&通用適用的自動&&來做到這一點。雖然採取複製也應該工作太讓我檢查... – rubenvb
看到更新與示例。 – rubenvb