可以在结构定义中使用模板吗?

can templates be used in structures definition

本文关键字:结构 定义      更新时间:2023-10-16
template <class T>
struct node
{
   T data;
   int *p;
};    

如果是,我们如何定义此类模板的对象,我也想知道我们是否为上述结构的动态创建对象分配内存,以及我们是否可以拥有指向节点对象本身的指针。我是C++编程新手,所以请指导我

是的,这是完全允许的。您可以使用以下内容创建对象:

node<int> int_node;

您可以通过以下方式动态分配一个:

node<int>* p_int_node = new node<int>();

在C++中,structclass相同,只是所有内容都默认为 public 而不是 private

因此,您可以拥有一个结构模板,并且您想使用它执行的所有操作都与类模板相同。例如:

node<int> n1; // a `int` node
node<int> *n2 = new node<int>(); // pointer to dynamically allocated instance