gpt4 book ai didi

C++,模板特化问题

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

我在模板类特化方面遇到问题,请参阅下面的代码。

template <typename T>
class Point
{
private
T x, y;
typedef T Type;

public:

Point ( const T & x_, const T & y_) : x ( x_ ), y ( y_ ) {}
};

template <typename Item>
struct TItems
{
typedef std::vector <Item> Type;
};


template <typename Item>
class Container
{
protected:
typename TItems <Item>::Type items;

public:
typedef Item type;
};

是否可以为 Point 特化 Container 类?

更新的问题:

我试过下面的代码,是否有效?

template <typename T>
class Container < Point <T> >
{

};

int _tmain(int argc, _TCHAR* argv[])
{
return 0;

Container <Point <double> > points;
}

最佳答案

可以,是的,但是您的语法不太正确。目前,编译器不知道 T 是什么,所以你必须告诉它它是一个模板参数:

 template<typename T>
class Container<Point<T> > { };

关于C++,模板特化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5916852/

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