c++中模板类的目的是啥
Posted
技术标签:
【中文标题】c++中模板类的目的是啥【英文标题】:what is the purpose of template class in c++c++中模板类的目的是什么 【发布时间】:2017-10-28 09:17:23 【问题描述】:我不明白模板类的用途是什么? 我是 C++ 新手。我能得到详细的解释吗?
// constructing unordered_sets
#include <iostream>
#include <string>
#include <unordered_set>
template<class T>
T cmerge (T a, T b) T t(a); t.insert(b.begin(),b.end()); return t;
std::unordered_set<std::string> second ( "red","green","blue" ); // init list
std::unordered_set<std::string> third ( "orange","pink","yellow" ); // init list
std::unordered_set<std::string> fourth ( second );
std::unordered_set<std::string> fifth ( cmerge(third,fourth) ); // move
【问题讨论】:
Read a good beginners book or two. 你能给我一些建议吗 他做到了。这是一个链接。 【参考方案1】:C++ 模板类/函数基本上是一个通用类/函数,即,您只需定义一次类或函数,就可以将这个定义用于不同的数据类型(int、char、float 等)。 例如:-
#include <iostream>
using namespace std;
// One function works for all data types. This would work
// even for user defined types if operator '>' is overloaded
template <typename T>
T myMax(T x, T y)
return (x > y)? x: y;
int main()
cout << myMax<int>(3, 7) << endl; // Call myMax for int
cout << myMax<double>(3.0, 7.0) << endl; // call myMax for double
cout << myMax<char>('g', 'e') << endl; // call myMax for char
return 0;
【讨论】:
以上是关于c++中模板类的目的是啥的主要内容,如果未能解决你的问题,请参考以下文章