C++ 中模板與泛型的差異:模板:編譯時定義,明確類型化,效率高,程式碼體積小。泛型:運行時類型化,抽象接口,提供靈活性,效率較低。
C++ 模板和泛型的比較
模板:編譯時定義的程式碼區塊,可以根據特定資料類型產生不同的程式碼。
區別 | ||
---|---|---|
泛型 | ||
編譯時 | ||
明確 | 推論 | |
較快 | 較慢 |
較小較小
#實戰案例
模板:
template<typename T> T max(T a, T b) { return (a > b) ? a : b; }
int max_int = max(10, 20); // 输出:20 double max_double = max(3.14, 2.71); // 输出:3.14
class NumberComparator { public: bool operator()(int a, int b) const { return a < b; } };
std::vector<int> numbers = {5, 2, 8, 3, 1}; std::sort(numbers.begin(), numbers.end(), NumberComparator()); for (auto& number : numbers) { std::cout << number << " "; // 输出:1 2 3 5 8 }
以上是C++模板和泛型的比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!