C++11中有两种声明函数的方式,一种如同C里面继承过来的
return-type identifier ( argument-declarations... )
另外一种是C++11中新定义的,能够配合decltype配合使用的
auto identifier ( argument-declarations... ) -> return_type
两种定义效果相同,而后者能够方便地使用decltype来推断返回类型,这在泛型编程中十分管用,详见stackoverflow
另外,在C++14中,在函数被调用前能够明确给出定义,并且所有return语句都deduce到相同返回类型,函数还允许这样的简化声明
auto identifier ( argument-declarations... )