标签: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