我发现这个excellent question与我想做的事情略有相反。
我还是太老了,真的不明白发生了什么。 (我现在几乎没有比基本语法更容易适应)
我想要做的是用std::map
个元素之一索引struct
struct
个。
所以,如果我有
struct accountStruct{
string accountName;
double total;
};
我想使用total
来std/boost::map
accountStruct
来accounts[accountName].total
。
请告诉我如何。
答案 0 :(得分:1)
您可以使用std::map<std::string, accountStruct>
。但是,当您在地图中插入元素时,这不会自动填充accountName
中的accountStruct
。 std::map<K, V>
当然不会考虑使用提供struct
的用户字段作为密钥。但是,您可能希望直接使用std::map<std::string, double>
。 ...或将帐户名保留在accountStruct
:
struct accountStruct {
double total = 0.0;
// possibly other members
};
std::map<std::string, accountStruct> m;