有一段C++程序如下,只是摘抄了程序中间部分,哪位大神能帮忙解释一些每句话的含义啊?
boolstatis(vector<double>&data,vector<result_point>&result,constintstart_index,bool&h...
bool statis(vector<double>& data, vector<result_point>& result,const int start_index,bool& have_error)
{
...........
result_point p;
if(index %2)
{
p.set_peak(data[index-1]);
p.set_valley(data[index-2]);
p.set_orientation(false);
}
else
{
p.set_peak(data[index-2]);
p.set_valley(data[index-1]);
p.set_orientation(true);
}
insert_result(result, p);
........
}
问题:尤其是开头有个vector<result_point>& result,而后又加一个 result_point p;,这是什么意思啊?还有 insert_result(result, p);这句有什么功能啊? 展开
{
...........
result_point p;
if(index %2)
{
p.set_peak(data[index-1]);
p.set_valley(data[index-2]);
p.set_orientation(false);
}
else
{
p.set_peak(data[index-2]);
p.set_valley(data[index-1]);
p.set_orientation(true);
}
insert_result(result, p);
........
}
问题:尤其是开头有个vector<result_point>& result,而后又加一个 result_point p;,这是什么意思啊?还有 insert_result(result, p);这句有什么功能啊? 展开
2个回答
展开全部
这个不难理解。result_point是自己定义的数据类型,可能是一个structure或class之类的东东。 vector<result_point>& result 是一个关于的result_point类型的vector,从变量名result来看,是存储统计结果(函数名就叫statis)的vector。
result_point p; 这个是临时变量,根据index是奇、偶数来做不同处理。然后把这个结果(在变量p)里面,插入到最后的结果result中,具体的方式是通过调用函数insert_result()来执行的(看来不是简单的vector的push_back或insert)。
result_point p; 这个是临时变量,根据index是奇、偶数来做不同处理。然后把这个结果(在变量p)里面,插入到最后的结果result中,具体的方式是通过调用函数insert_result()来执行的(看来不是简单的vector的push_back或insert)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询