大佬教程收集整理的这篇文章主要介绍了C++ unordered_set插入元素(insert插入元素)详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
auto pr = words.insert("ninety"); // Returns a pair - an iterator & a bool value auto iter = words.insert (PR.first,"nine"); // 1st arg is a hint. Returns an iterator words.insert({"ten","seven","six"}); // InserTing an initializer list当调用 insert() 插入一段元素时,什么都不返回:
std::vector<String> more { "twenty","thirty","forty" }; words.insert(std::begin(morE),std::end(morE));//Insert elements from the vectorunordered_set 容器的成员函数 emplace() 和 emplace_hint() 可以在容器的适当位置创建元素。正如我们之前所见的 set 容器,传入 emplace() 的参数会被传入元素的构造函数,用来创建元素。emplace_hint() 的迭代器参数可以指定元素的插入位置,后面是构造元素需要的参数。例如:
std::unordered_set<std::pair<String,String>,Hash_pair> names; auto pr = names.emplace ("Jack","Jones") ; // Returns pair<iterator,bool> auto iter = names.emplace_hint (PR.first,"John","Smith"); // Returns an iterator容器的元素是用来表示名称的 pair 对象,这里的每个名称由两个 String 对象组成,它们分别表示一个人的姓和名。unordered_set<T> 元素默认的哈希函数是一个 hash<T> 类模板的实例。这个模板对基本类型、指针、String 对象有一些特例化的定义。
class Hash_pair { public: size_t operator()(const std::pair<String,String>& pr) { return std::hash<String>()(PR.first + PR.second); } };这里使用了一个定义在 String 头文件中的 hash<String> 函数对象的实例。它会哈希一个由 pair 对象的第一个成员和第二个成员串联的字符串,然后将结果作为这个 pair 元素的哈希值返回。
以上是大佬教程为你收集整理的C++ unordered_set插入元素(insert插入元素)详解全部内容,希望文章能够帮你解决C++ unordered_set插入元素(insert插入元素)详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。