【发布时间】:2020-10-31 07:49:54
【问题描述】:
我想在一个类中创建一个方法(但我认为这无关紧要),它根据特定函数返回的布尔值对向量进行排序......我读到这是可能的,但我不知道如何去做吧……
我想调用该函数并将(例如)> 或< 作为参数,这样我就不必创建两个几乎相同的函数。
我如何想象函数的主体:
for (int i = 0 ; i < DIM - j; i++)
{
if (some_function(v[i], v[i+1]))
{
int temp;
temp = v[i];
v[i] = v[i+1];
v[i+1] = temp;
}
}
【问题讨论】:
-
@AdrianMole:C++ 还有其他技术。例如。函子,
std::function,lambdas。 -
C 欺骗是一个糟糕的选择,尤其是如果这是一个 X/Y 问题(即重新发明轮子)。
-
@underscore_d 我找了一个 C++ 骗子,但那只是指向 C 版本:stackoverflow.com/q/6339970/10871073