Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这个模板编程技术的名称是什么,这是标准C++吗?_C++_Templates - Fatal编程技术网

这个模板编程技术的名称是什么,这是标准C++吗?

这个模板编程技术的名称是什么,这是标准C++吗?,c++,templates,C++,Templates,编写此代码的老板称其为默认模板参数,但我不确定其名称。这看起来有点像部分专门化,但语法更直观。它甚至是标准的C++?< /P> template<class T, bool auto_delete=true> class ArrayPtr : public Array<T*> { public: ArrayPtr(){} ~ArrayPtr(){Done();} bool Done() { if (aut

编写此代码的老板称其为默认模板参数,但我不确定其名称。这看起来有点像部分专门化,但语法更直观。它甚至是标准的C++?< /P>
template<class T, bool auto_delete=true> class ArrayPtr : public  Array<T*> {
public:
    ArrayPtr(){}
    ~ArrayPtr(){Done();}

    bool    Done() { 
                if (auto_delete){
                    FOR(i, Array<T*>::GetSize()) delete (*this);
                }
                return Array<T*>::Done();}
} ;

其他问题,使用BoOL AutoDele+Trof是标准C++。 正式地说,这被称为默认模板参数。从C++11 14.1模板参数:

9默认模板参数是模板参数中在=之后指定的模板参数14.3。可以为任何类型的模板参数类型(非类型)指定默认模板参数 不是模板参数包14.5.3


其他问题,使用BoOL AutoDele+Trof是标准C++。 正式地说,这被称为默认模板参数。从C++11 14.1模板参数:

9默认模板参数是模板参数中在=之后指定的模板参数14.3。可以为任何类型的模板参数类型(非类型)指定默认模板参数 不是模板参数包14.5.3


<代码>标准C++;声明默认模板参数有时很有用。例如,如果定义数学3D向量意义上的类Vector3D,则可以将T默认为双精度。对于标准库std::vector模板,声明如下:

template < class T, class Alloc = allocator<T> > class vector;

<代码>标准C++;声明默认模板参数有时很有用。例如,如果定义数学3D向量意义上的类Vector3D,则可以将T默认为双精度。对于标准库std::vector模板,声明如下:

template < class T, class Alloc = allocator<T> > class vector;

auto_delete的默认模板参数为true,并从数组派生。在任何情况下,代码似乎是BAAAD。特别是对于宏。世界跆拳道联盟。还有,重复删除这个?什么?在我看来,这就像是破译的代码技术。它甚至可以编译吗*这不是一个指针,因此您不能删除它,因为它看起来确实像boss代码。您的boss在代码格式方面也有非常特殊的品味。请参阅[temp.param]/9,即14.1/9auto_delete的默认模板参数为true,并从数组派生。在任何情况下,代码似乎是BAAAD。特别是对于宏。世界跆拳道联盟。还有,重复删除这个?什么?在我看来,这就像是破译的代码技术。它甚至可以编译吗*这不是一个指针,所以你不能删除它,它看起来确实像是boss代码。你的boss在代码格式方面也有非常特殊的品味。请参见[temp.param]/9,即14.1/9I如果你定义一个类向量,那么将T默认为双精度可能是有意义的,但是不要提到std::vector有一个默认的模板参数:DI就像定义一个类向量一样,将t默认为double是有意义的,但是不要提到std::vector有一个默认的模板参数:D