函数的返回值类型

函数的返回值
1, 返回引用类型
在函数返回值是引用这一类型的时候,在别处看到的准则是要求在函数参数中,包含有以引用方式或指针方式需要作为返回值的参数。
但在实验中int ,char等这些类型即使没有这个参数也可以返回正确的值如:
int& fun()
{
Int a = 1;
return a;
}
int main()
{
Int &a =fun();

}
这里int& a是可以得到正确值的。换成char
也是一样
但是如果是std::string类型的就不能得到正确的值,还不明白是为什么。
2, 返回非引用类型
这种情况可以把函数的局部变量作为返回值返回。
因为在fun函数返回前,会拷贝构造一个无名的对象中,返回的是这个对象,
Int a = fun()这个语句执行完,才会释放这个无名对象。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值