C ++中的unordered_multiset指针
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C ++中的unordered_multiset指针相关的知识,希望对你有一定的参考价值。
我在C ++初学者,我想使用下面的unordered multiset
指针的插入函数来添加新元素:
struct Customer {
size_t operator()(const char& c) const;
};
unordered_multiset<char, Customer>* ms
任何人都可以帮忙吗?
答案
void populate_multiset(const string& s, unordered_multiset<char, CustomHasher>* ms)
鉴于此功能接受string
和你的unordered_multiset
接受char
,你只能插入一个char
for(size_t i = 0; i<s.size(); i++) {
ms->insert(s[i]); // insert each individual char
}
或者使用迭代器插入一系列char
ms->insert(s.begin(), s.end());
此外,由于标准库已经提供了散列char
的方法。你可以简单地宣布
unordered_multiset<char> ms;
但是,如果您确实想要提供自定义哈希函数,则可以。语法与您在问题中的语法完全一样。
将容器传递给函数的一种更常见的方法是通过引用。例如
void populate_multiset(const string& s, unordered_multiset<char, CustomHasher>& ms)
然后,您可以使用.
而不是->
来完成同样的事情。
以上是关于C ++中的unordered_multiset指针的主要内容,如果未能解决你的问题,请参考以下文章
c语言中各种文件,如ILK,PCH,PDB等分别指啥文件?有啥用?