C++ 索引std/boost::按结构元素映射
我发现这和我想做的有点相反 我还是太糊涂了,无法真正理解发生了什么。(我刚刚刚刚刚刚对基本语法略感满意) 我想做的是通过C++ 索引std/boost::按结构元素映射,c++,map,struct,indexing,element,C++,Map,Struct,Indexing,Element,我发现这和我想做的有点相反 我还是太糊涂了,无法真正理解发生了什么。(我刚刚刚刚刚刚对基本语法略感满意) 我想做的是通过struct的元素之一为std::map的struct建立索引 所以,如果我有 struct accountStruct{ string accountName; double total; }; 我想用accounts[accountName].total从std/boost::map调用accountStructs的total 请告诉我如何使用。您可以
struct
的元素之一为std::map
的struct
建立索引
所以,如果我有
struct accountStruct{
string accountName;
double total;
};
我想用accounts[accountName].total从std/boost::map
调用accountStruct
s的total
请告诉我如何使用。您可以使用std::map
。但是,在地图中插入元素时,这不会自动填充accountStruct
中的accountName
。<代码> STD::MAP< /C>当然不要考虑使用用户提供的代码<代码> Stutt作为一个键。不过,您可能希望直接使用std::map
。。。或者将帐户名从accountStruct
中删除:
struct accountStruct {
double total = 0.0;
// possibly other members
};
std::map<std::string, accountStruct> m;
struct accountStruct{
双倍合计=0.0;
//可能还有其他成员
};
std::map m;
为了便于插入,您可以通过定义bool操作符来使用std::set
而不是std::map
!没有想到显而易见的:让accountName
单独作为键。