#include <iostream>
#include <string>
using namespace std;
/*函数声明的四种方式*/
//纯净版函数声明
string ( &func() )[10];
// 上述声明的含义是:
// func() 表示func函数无需任何实参
// ( &func() ) 表示函数的返回结果是一个引用
// ( &func() )[10]表示引用的对象是一个10维的数组
// string ( &func() )[10]表示数组的元素为string类型
//使用类型别名
typedef string arr[10];
arr &func();
//使用尾置返回类型
auto func() -> string (&)[10];
//使用decltype关键字
string str[10];
decltype(str) &func(); //函数引用对象是一个10维数组,数组元素为string
其实,后三种方法虽然形式上比较简洁,但是使用经验较少的话极其容易出错,个人建议还是纯净版的好,不花哨,明明白白。
【C++】【学习笔记】/*函数声明的四种方式*/
最新推荐文章于 2024-01-30 08:59:07 发布