如何用默认值 0 或 -1 初始化 unordered_set?

How to initialize unordered_set with default value 0 or -1?

我如何使用默认值 0 或 -1 初始化 STL unordered_set,而不像我们处理数组那样进行循环初始化,

int arr[10] = {0};

您可能混淆了集合和 arrays/vectors:

A std::setstd::unordered_set 仅包含 唯一的 值。它永远不能多次包含任何值。

如果你只是想用一些值来初始化它,你可以对数组做同样的事情:

  • std::unordered_set<int> set{0, -1}; 创建一个包含两个值的集合:0 和 -1

  • std::unordered_set<int> set{0, -1, -1, -1, -1}; 做同样的事情,因为每个唯一值只会包含 一次