gpt4 book ai didi

c++ - 在template class T1, class T2>中,是什么意思?

转载 作者:行者123 更新时间:2023-11-30 04:05:52 33 4
gpt4 key购买 nike

我在 A. Alexenderscu 的现代 C++ 设计中找到了一些模板示例
作者使用以下行的地方

template
<
class T,
template <class> class CheckingPolicy // <---- Please explain this line
>
class SmartPtr : public CheckingPolicy<T>
{
...
template
<
class T1,
template <class> class CP1,
>
SmartPtr(const SmartPtr<T1, CP1>& other)
: pointee_(other.pointee_), CheckingPolicy<T>(other)
{ ... }
};

我不明白标线中的意思。请解释那一行

最佳答案

在此代码示例中 SmartPtr类模板有一个类型参数 T和一个模板参数 CheckingPolicy . CheckingPolicy模板模板参数本身有一个类型参数:template <class> class CheckingPolicy .我建议您通过以下方式格式化您不清楚的模板代码,以使其更易于理解:

template
<
class T, // type parameter of a SmartPtr class template
template
<
class // type parameter of a template parameter CheckingPolicy
>
class CheckingPolicy // template parameter of a SmartPtr class template
>
class SmartPtr // class template

关于c++ - 在template<template<class> class T1, class T2>中,<class>是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23108051/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com