该SO回答说,带有向量作为密钥的STL映射,该向量可用作密钥。因此,当我们使用向量作为键时。由于键需要唯一,因此该键实际如何工作,因此当我们插入具有相同元素的另一个向量时,将map
检查逐个元素重复还是向量名称确实指定了某些东西?就像数组的名称代表基地址一样。因此,可以将数组用作键,因为在这种情况下基地址可以用作键,但是在向量的情况下,键是什么。它是如何在内部工作的。
因为当我打印矢量的名称时,我确实得到了一个错误
vector<int> v;
cout<<v; //error
打印矢量名称是什么意思?
—
巴特
has operators == and <
有什么帮助?我的问题是检查重复元素是否会按元素映射比较矢量键元素
@PulkitBhatnagar但是......没有人会强迫你使用
—
Yksisarvinen
std::vector
的关键std::map
。您为使用的商品付费。可以做到的,也许有一些用例,但是最确定的是您可以更改选择的数据结构。STL容器的设计具有最大的通用性,并且可以以用户可能希望使用的任何方式使用。
@PulkitBhatnagar例如,请参见为什么将std :: map实现为红黑树?。
—
Daniel Langr
@PulkitBhatnagar直接存储。
—
Yksisarvinen
std::map
会将键和值复制到自身中。std::unordered_map
可以存储密钥的哈希值。