标签:name ace std ret nbsp 知识 clu amp tip
16.1
知识点:当我们调用一个模板函数时,即向一个模板传递实参,编译器用此函数实参来推断模板实参,并将该模板实参(即实参的类型)绑定到模板参数(即T)。
实例化:编译器用模板实参代替对应的模板参数来创建出一个新“实例”。譬如用int代替T,创建出一个新函数实例。
16.2
template <typename T> bool cmp(const T &a, const T &b) { return a < b; } int main() { cout << boolalpha << cmp(‘a‘, ‘b‘) << " " << cmp(3, 2) << endl; return 0; }
16.4
#include <iostream> #include <vector> #include <list> using namespace std; template <typename T, typename V> bool find1(const T &beg, const T &end, const V &val) { T it = beg; while (it != end) { if (*it == val) return true; ++it; } return false; } int main() { vector<int> vec{2, 1, 6, 4, 8, 7}; list<string> lst{"pine", "cake", "fine", "kzw"}; bool bl1 = find1(vec.begin(), vec.end(), 6); bool bl2 = find1(lst.begin(), lst.end(), "tiple"); cout << boolalpha << bl1 << endl << bl2 << endl;; return 0; }
16.5
标签:name ace std ret nbsp 知识 clu amp tip
原文地址:http://www.cnblogs.com/xzxl/p/7783409.html