【发布时间】:2021-09-26 14:06:10
【问题描述】:
我有无序的计数器图,例如:
std::unordered_map<std::string, std::size_t> counters_;
我是否需要在尝试增加值之前手动创建一个值?下一行是否会被视为未定义行为?
std::unordered_map<std::string, std::size_t> counters_;
counters_["non_existing_key"] += 1;
【问题讨论】:
-
[]运算符将始终创建一个“默认构造”值(如果不存在)。对于整数类型,这意味着该值将为零。所以代码会像你希望的那样工作。
标签: c++