美文网首页
c++11函数返回类型后置

c++11函数返回类型后置

作者: NullUser | 来源:发表于2023-05-11 20:17 被阅读0次

    函数声明有两种语法:

    常规:

    返回类型 函数名(参数类型 参数名);
    return_type functionName ( ArgType arg);
    

    C++11引入了新的函数声明语法:

    auto 函数名(参数类型 参数名)->返回类型
    auto functionName(ArgType arg)->return_type
    {
    }
    

    auto为占位符,函数名后->紧跟返回类型。该语法可以返回常规语法中无法返回的类型。

    • 返回函数指针
    double test(int)
    {
        return 1.0;
    }
    auto returnPtr()->double(*)(int)
    {
      return test;
    }
    
    • 推导函数模板返回类型(搭配decltype关键字)
    template<class T1, class T2>
    auto sum1(T1 t1, T2 t2)->decltype(t1 + t2)
    {
        return t1 + t2;
    }
    

    相关文章

      网友评论

          本文标题:c++11函数返回类型后置

          本文链接:https://www.haomeiwen.com/subject/tanssdtx.html