【发布时间】:2011-12-12 23:30:29
【问题描述】:
#include <algorithm>
bool comparisonFunc(char* c1, char* c2)
{
return strcmp(c1, c2) ? 0 : 1;
}
vector<char*> myVec;
vector<char*>::iterator itr;
sort(myVec.begin(), myVec.end(), comparisonFunc)
这是正确的还是有更好的方法?
【问题讨论】:
-
itr似乎未使用。而strcmp(...) ? 0 : 1会更习惯地写成!strcmp(...)。但我不知道你的实际问题的答案。 -
@user1002288 你为什么不用
std::sort(myVec.begin(), myVec.end(), ::strcmp);directlt? -
注意:
strcmp返回 -1、0 或 +1,具体取决于 c1 是 c2。因此,您需要strcmp(lhs, rhs) < 0进行小于排序。