C++之函数返回值
返回行为:
函数返回是,return expression或者 return 语句使程序退出当前函数,返回上一级函数的行为。如果有返回值,函数返回该值。
auto a = fun()
ps: 我不了解函数调用和函数返回时,涉及的内存、堆栈等信息。但是想要写好代码,这些是需要了解。(这是我的个人观点,我以后会学这部分的内容)
三种函数返回类型的声明方式
# 正常般(c 风格)
# 格式 typename fun(typename para0, ...);
int add(int a, int b);
int sum = add(3, 4);
# 尾置返回类型
# 格式 auto fun(typename para0, ...);
auto add(int a, int b) -> int;
auto fun(int i) -> int(*)[10]; //返回一个指向10个int的数组指针
int arr[10]; int *p = arr;
p = fun(i);
# 使用decltype
# 格式 decltype(variable name) fun(typename para0, ...);
//举个例子
int odd[] = {1, 3, 5, 7, 9};
int even[] = {0, 2, 4, 6, 8};
decltype(odd) *arrPtr(int i) // 返回一个指向数组的指针。
{
return (i % 2) ? &odd : &even;
}