首页 > 后端开发 > C++ > C 函数头中箭头运算符 (->) 的用途是什么?

C 函数头中箭头运算符 (->) 的用途是什么?

Mary-Kate Olsen
发布: 2024-11-13 05:49:02
原创
354 人浏览过

What is the Purpose of the Arrow Operator (->)在 C 函数头中? 
) 在 C 函数头中? " />

理解函数标题中的箭头运算符 (->)

相关代码在函数标题中引入了箭头运算符 (->):

template <typename T, typename T1> auto compose(T a, T1 b) -> decltype(a + b) {
   return a+b;
}
登录后复制

此语法引用了 C 11 中引入的替代函数声明语法。它提供了指定返回类型的传统方法的替代方法:

return-type identifier (argument-declarations...)
登录后复制

函数声明语法

C 11 中的两种函数声明语法是:

  1. 传统语法:

    <return-type> <identifier> (<argument-declarations...>)
    登录后复制
  2. 替代语法:

    <auto> <identifier> (<argument-declarations...>) -> <return-type>
    登录后复制

使用 Dectype 确定返回类型

箭头运算符 (->) 允许使用 decltype 根据参数类型派生返回类型。decltype 使我们能够指定表达式的类型,而无需明确声明它。

在给定的示例中,decltype(a b)根据表达式 a b 确定返回类型。 - > 运算符表示返回类型将是表达式的类型。

C 14 Update

C 14 引入了另一种语法简化:

<auto> <identifier> (<argument-declarations...>)
登录后复制

如果函数在使用前完全定义并且所有 return 语句推导为相同类型,则这是允许的。然而,->语法对于在标头中声明的公共函数的源文件中隐藏函数体仍然很有用。

以上是C 函数头中箭头运算符 (->) 的用途是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板