C++ 函数返回数组引用

这篇博客介绍了四种在C++中返回数组引用的方式:1) 直接返回数组的引用,2) 使用typedef返回自定义类型数组的引用,3) 通过后置运算符返回自定义类型数组的引用,4) 使用decltype返回自定义类型数组的引用。通过示例代码展示了这些方法的用法,并在main函数中验证了返回的引用可以通过指针访问并打印数组元素。
摘要由CSDN通过智能技术生成


#include <iostream>


using namespace std;

string str[10];

// 1.返回数组的引用,参数是一个数组的引用
string(&str_arr_1(string (&arr)[10]))[10]
{
    return arr;
}

// 2.返回自定义类型数组的引用,参数是一个数组的引用
typedef string arr[10];
arr& str_arr_2(string(&arr)[10])
{
    return arr;
}
// 3.使用后置运算符 返回自定义类型数组的引用,参数是一个数组的引用
auto str_arr_3(string(&arr)[10])->string(&)[10]
{
    return arr;
}
//4.使用decltype 返回自定义类型数组的引用,参数是一个数组的引用
decltype(str)& str_arr_4(string(&arr)[10])
{
    return arr;
}
int main()
{
    // 初始化数组
    for (int i = 0; i < 10; ++i) 
    {
        str[i] = '0' + i;
    }
    // ptr1指针:指向引用数组的地址
    string* ptr1 = str_arr_1(str);
    f

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值