我在使用 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/