你能只用键创建 std::map 吗?

Can you create std::map with only keys?

所以,我想使用 std::map 来查找元素是否存在。所以我基本上只需要密钥,不需要任何值。

有什么办法可以做一些类似 std::map<std::string, void> 的事情吗?还是有比 std::map 更好的替代品?

最坏的情况是可以使用不同的容器,例如 std::vector<std::string>,但我很好奇您是否可以使用 std::map 来做到这一点(也可以使用 std::map<std::string, bool>,但是布尔值会浪费内存)。

Or is there a better alternative to std::map for this kind of stuff?

是的。您描述的容器是一组。有 std::setstd::unordered_set 对应于标准库中对应的地图。