的一段代碼爲向量運算包含這些類模板定義:爲什麼在操作符<exists時定義lt lt?
template <class T>
class lt {
public:
static int compare(T a, T b) { return(a < b); }
};
template <class T>
class gt {
public:
static int compare(T a, T b) { return(a > b); }
};
但是,爲什麼?它沒有使用額外的異常處理,並且它依賴於已經具有operator<
和operator>
的類T
的對象。使用操作員不僅簡單/容易嗎?或者應該使用模板類進行比較?
沒有看到這是在使用的代碼,很難說的休息,但我希望它的使用使您可以分別選擇「升序排序」和「降序排序」。 –
不知道完整的代碼和背後的設計決策,沒有猜測或具有心理能力,真的沒有辦法回答這個問題。 –
還有一個問題,爲什麼'compare'返回一個'int',而不是'bool'。在標準庫中,'compare'函數根據第一個參數是小於,等於還是大於第二個參數返回int,但是其值小於,等於或大於零。 –