C++函数返回类型 前置和后置的区别

最近新发现了C++类成员函数的外部定义中,返回类型的前置和后置写法的区别,
主要在于,后置返回类型会默认处在该类的作用域中

比如,A类中定义了类型B,那么在A类的成员函数中返回类型B的时候,

  • 前置需要加上作用域classA::typeB才能让编译器知道类型B是定义在A类的作用域当中的,
  • 后置返回类型,前面classA::成员函数出现过,所以后面不用加上作用域,直接写 -> typeB 即可,

具体写法 (类成员函数定义, 返回A类中的类型B) 如下:

classA::typeB classA::func() {  }  // 前置形式, 返回类型typeB前面要加作用域classA
auto classA::func() -> typeB {  }  // 后置形式, 返回类型typeB前面的作用域已经默认为classA

你可能感兴趣的:(c++,c++,类)