如何免费建设一个网站,网站建设及维护涉及哪些内容,电子商务网站建设的核心是,网上购物平台大全在vector排序时候#xff0c;有时候需要自定义排序#xff0c;这个教程网上也很多#xff0c;但是一般都是只使用了vector元素内部的变量#xff0c;这里给出传入变量的实例代码 float camera_param_cx camera_param_cx_;float same_traffic_light_max_area same_traffic…在vector排序时候有时候需要自定义排序这个教程网上也很多但是一般都是只使用了vector元素内部的变量这里给出传入变量的实例代码
float camera_param_cx camera_param_cx_;float same_traffic_light_max_area same_traffic_light_max_area_;// 使用自定义的比较函数综合面积距离图像中心距离置信度对相同方向的红绿灯进行排序。std::sort(same_traffic_light.begin(), same_traffic_light.end(),[camera_param_cx, same_traffic_light_max_area](std::shared_ptrLightStatus same_traffic_light_a,std::shared_ptrLightStatus same_traffic_light_b) {return compareRectByScore(same_traffic_light_a, same_traffic_light_b, camera_param_cx,same_traffic_light_max_area);});比较函数定义部分
// 自定义一个比较函数按照综合分数大小进行排序
bool compareRectByScore(std::shared_ptrLightStatus same_traffic_light_a,std::shared_ptrLightStatus same_traffic_light_b, float camera_param_cx,float same_traffic_light_max_area)
{//你的逻辑//可以在内部使用传入的四个变量进行比较
}lambda函数中的[camera_param_cx, same_traffic_light_max_area]捕获了外部变量camera_param_cx和same_traffic_light_max_area然后将它们作为参数传入compareRectByScore函数中。这样就可以在compareRectByScore函数中同时使用两个额外的变量了。记住类的成员变量不能直接传入需要重新定义后赋值后传入