当前位置: 首页 > 知识库问答 >
问题:

确定C++std算法函数(如count_if)的返回类型

广亮
2023-03-14

如何确定像std::count_if这样的std::函数的类型?理想情况下,我想要以下内容

using ret = std::invoke_result_t<std::count_if, const char*, const char*,
                                 std::function<bool(const char)>>;

但由于多种原因,这并不奏效。我可以通过:

using f = std::function<bool(const char)>;
using ret = std::invoke_result_t<std::count_if, const char*, const char*, f>;

但这仍然是不够的。

错误:

expected a type, got 'std::count_if'

共有1个答案

诸葛立果
2023-03-14

最简单的方法就是使用decltype,如下所示:

using type = decltype(
    std::count_if(
        std::declval<const char*>(),
        std::declval<const char*>(),
        std::function<bool(const char)>{}
    )
);
 类似资料:
  • 问题内容: 我找不到ctypes如何弥合Python和Python之间的鸿沟。没有提到互联网上的任何地方。这是不好的做法吗,不存在还是我错过了什么? C ++ :xxx.cpp 的Python: xxx.py 问题答案: 特殊原因是速度很重要。我正在创建一个应该能够处理大数据的应用程序。在200,000行中,必须按300个值(200k x 300矩阵)计算缺失。我相信,但是如果我错了,请纠正我,C

  • 问题内容: 也许这是一个愚蠢的问题,但是有没有办法找到所有返回特定类型的函数(在标准库或GOPATH中)? 例如,有许多函数使用io.Writer作为参数。现在,我想知道如何创建io.Writer,并且有很多方法可以做到这一点。但是,如何能轻松地找到所有方法而又无需猜测软件包并仔细查看所有方法以找到返回io.Writer(或我追随的其他任何类型)的方法? 编辑: 我应该扩展我的问题,以查找实现特定

  • 在TypeScript中,< code>class关键字引入了值和类型: 有没有一种方法可以使函数返回既是类型又是值的东西? 问这个问题的另一种方法是:有没有办法在下面声明的类型,以便类型检查? 看到这个打字游戏了吗

  • 出于某种原因,在下面的递归函数中, 永远不递增p,也就是说字符串s永远不是一个回文,尽管在我的程序中,s确实是一个回文,次数相当少。但是在下面一行中它仍然返回false 是因为功能吗?s采用的一些值为:aaa、aba、AAAA、abbb、bab 我已确保s中没有前后空格 P、 S:我已经检查过了,x==n 示例输入: 输出0。回文:aaaaaa、abaaba、aaaaaa