Basierend auf verschiedenen Stack-Überlauf-Beiträge, habe ich folgendes zusammen in einem Kennzeichenerkennung Programm, das ich eine Weile zurück tatC++ - Funktor vs Inline-Funktion vs Operator Overload?
PossiblePlate.h:
(lines omitted)
std::string strChars;
///////////////////////////////////////////////////////////////////////////////////////////////
static bool sortDescendingByNumberOfChars(const PossiblePlate &ppLeft, const PossiblePlate &ppRight) {
return(ppLeft.strChars.length() > ppRight.strChars.length());
}
(lines omitted)
Main.cpp
(lines omitted)
// sort the vector of possible plates in descending order (most number of chars to least number of chars)
std::sort(vectorOfPossiblePlates.begin(), vectorOfPossiblePlates.end(), PossiblePlate::sortDescendingByNumberOfChars);
(lines omitted)
Hier ist das Repo, wenn mehr Kontext hilfreich wäre:
https://github.com/MicrocontrollersAndMore/OpenCV_3_License_Plate_Recognition_Cpp
Dieser Code ist großartig für das Sortieren eines Vektors von Objekten in C++ basierend auf einer beliebigen Elementvariable, ich habe es schon einige Male in verschiedenen anderen Projekten wiederverwendet.
Meine Frage ist, was ist das? Ein Funktor, eine Inline-Funktion, eine Überlastung des Operators oder etwas ganz anderes? Wie könnte ich den Unterschied feststellen?