c++ - 如何在 C++ 中解释带有集合类型的方法

标签 c++ set

我在使用 set 方法数据类型的 C++ 上工作。方法是

set < string, cmp > genPerm ( const string& );

这里cmp是一个类

我不知道如何解释这些类型的方法,从 4 小时开始我搜索并理解了集合,但每次都出现问题并且任务没有解决。任何人都可以帮助我指导我

最佳答案

这是一个类型为std::set<std::string, cmp>的函数声明接受一个std::string通过引用 const 的参数。 std::set容器也是一种类型。所以你的功能是那种类型的。 <std::string, cmp>中的第一个参数模板确定存储在集合中的元素类型,该集合是 std::string . Set 是唯一元素的排序容器。设置模板中的第二个参数是 key comparison function决定元素如何排序。在您的情况下,自定义排序由您的 cmp 提供。可能会重载 () 的类运算符,实际上是一个仿函数。函数的返回类型是:

std::set<std::string, cmp, std::allocator<std::string>>

相当于:

std::set<std::string, cmp>

如果您没有自定义比较器 cmp返回类型可能是:

std::set<std::string, std::less<std::string>, std::allocator<std::string>>

实际上是:

std::set<std::string>

简称。

关于c++ - 如何在 C++ 中解释带有集合类型的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47631774/

相关文章:

c++ - 在匿名命名空间中使用命名空间安全吗?

java - 在 Java 中从 Map(具有唯一元素的 Set)获取

Python:改进的集合表示法?

c++ - 如何找到 2 组的交集?

algorithm - 有没有算法可以解决这个数字组序列?

c++ - nanoflann kdtree 适配器引发段错误

c++ - Boost::Tuples vs Structs 返回值

c++ - 如何在窗口中显示文件夹中所有文件的名称? Qt C++

c# - 在类中为属性赋值

c++ - 在 C++ 中查找用户输入的最小值