在C++中,我不太明白如何通过定义自定义函数来对元素进行排序。如何通过一种方法对元素进行排序
Cppreference.com说,对于比较功能:
补偿 - 如果第一个参数 小于第二返回true比较函数。
布尔CMP(常量的Type1 &一个,常量类型2 & b)中;
自然我认为用于分拣元件我需要定义的措施,以及排序函数将取决于对它们进行排序在措施。
在我的实际例子中,我想根据它们距相机有多远来对图像文件进行排序。我有提高文件系统::路径::链接到图像序列
vector<boost::filesystem::path> path_vec
的目录向量,我自然觉得我需要写像
double z_distance(boost::filesystem::path filename, integer time)
什么会返回一个双重功能对于所有元素,按照每帧的升序或降序对它们进行排序(因此参数中的变化时间)。
你能告诉我应该如何将这个返回单一值的函数转换为排序函数所需的布尔函数?
如何传递参数,如果我只能传递函数名称,而不是函数的完整调用?
PS:该函数将在您的STL容器的整个内容中运行很多次,每次两个elemetns - 对不起,我应该在帖子中说过。这就是为什么它不需要返回一个double,而一个bool就足够了。 –