Alias Template
Alias(化名) Tempalte (template typedef)
template <typename T>
using Vec = std::vector<T, MyAlloc<T>>;
the term
vec<int> coll;
is equivalent to
std::vector<int, MyAlloc<int>> coll;
template template parameter
说的简单点就是:模板参数本身也是个模板
template<typename T,
template <class>
class Container // 这个模板参数 class Container 本身也是个模板
>
class XC1s{
private:
Container<T> c;
public:
XC1s() {
for(long i=0;i < SIZE;++i)
c.insert(c.end(), T());
output_static_data(T());
Container<T> c1(c);
Container<T> c2(std::move(c));
c1.swap(c2);
}
};
// template template parameter + alias template
template<typename T>
using vec = vector<T, MyAlloc<T>>;
XC1s<MyString, vec> c1;
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步