C++函数的类型及其返回值

1.函数的返回值为string
例如

using namespace std;
string heh()
{
   string hah="example";
   return hah;
}

string& hh()
{
   string hah="example";
   return hah;
}

....
int main()
{
    /*在函数结束后,函数内部的值都被清除了,故引用的值无法获取。
    另外还会导致在debug模式下,结果是 example,在release模式下,
    结果是null的问题。产生调试费时的bug。*/
    string en=hh();// en的值为null;
    string enen=heh();// enen的值为"example";
    return 0;
}

2.定义返回值为vector的函数

using namespace std;
// 错误示例甲
std::vector<int>* lightnts(const pcl::PointCloud<pcl::PointXYZ>& cld_xyzi, const vector<int>& vec_x, float d)

// 正确示例乙
std::vector<int> *lightnts(const pcl::PointCloud<pcl::PointXYZI>& cld_xyzi, std::vector<int>& vec_sphere_coor_idx, float d);

// 正确示例丙
std::vector<int> *lightnts(const pcl::PointCloud<pcl::PointXYZI>& cld_xyzi, const std::vector<int>& vec_sphere_coor_idx, float d);

错误列表和输出信息分别如下图所示。
在这里插入图片描述

在这里插入图片描述

难道是因为不能直接写成const vector这样使用?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值