什么是'auto classMemberFunction() - > void {}`签名?

时间:2016-12-29 09:31:03

标签: c++ signature auto

我在an article中看到了与此类似的代码:

#include <iostream>

class MyClass {
public:

  auto myFunction(int i)->void {
    std::cout << "Argument is " << i << std::endl;
  }
};

void main() {
  MyClass myClass;
  myClass.myFunction(4);
}

程序正确打印输出参数是4 ,但我不了解类功能成员的签名以及它与通常的区别。如果使用此不同的签名而不是void myFunction(int i)

有用

1 个答案:

答案 0 :(得分:1)

这是(ab)使用C ++ 11中引入的trailing-return-type语法。语法是:

<a href="" class='current'>Link 4</a>

它的作用与左边的返回类型的经典函数声明相同,除了尾随类型可以使用函数签名引入的名称,即:

auto functionName(params) -> returnType;
auto functionName(params) -> returnType { }

在这种情况下,除了一致性之外没有任何意义。