c++ - 按结构元素索引 std/boost::map

标签 c++ dictionary struct indexing element

我找到了这个excellent question这与我想要做的稍微相反。

我还是太菜鸟了,无法真正理解发生了什么。 (我现在几乎不熟悉基本语法)

我想做的是通过 struct 的元素之一索引 structstd::map

所以,如果我有

struct accountStruct{
     string accountName;
     double total;
};

我想从 accountStructstd/boost::map 调用 totalaccounts[accountName] .总计

请告诉我怎么做。

最佳答案

您可以使用 std::map<std::string, accountStruct> .但是,这不会自动填写 accountName在你的accountStruct当您将元素插入 map 时。 std::map<K, V>当然不要考虑使用用户提供的字段 struct作为 key 。您可能想使用 std::map<std::string, double>直接,虽然。 ... 或将帐户名保留在 accountStruct 之外:

struct accountStruct {
    double total = 0.0;
    // possibly other members
};

std::map<std::string, accountStruct> m;

关于c++ - 按结构元素索引 std/boost::map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818754/

相关文章:

objective-c - 返回结构在 Objective-C 中究竟是如何工作的?

c++ - DirectX 12 资源绑定(bind)

c++ - 如果我递减 `std::size_t(0)` 是否保证等于 `std::size_t(-1)`?

c++ - 交换 Qt 小部件

swift - 将 ENUM 哈希和原始值复制到字典中

python - 将元素 append 到 Python 中的空列表字典

c++ - vector 、结构和 std::find

python - 基于差异的过滤数据框有两个系列,一个通过字典映射

swift - Swift 结构的值绑定(bind)模式

ios - 如何自动为 Swift 类创建初始化程序?