可以在结构定义中使用模板吗?
can templates be used in structures definition
template <class T>
struct node
{
T data;
int *p;
};
如果是,我们如何定义此类模板的对象,我也想知道我们是否为上述结构的动态创建对象分配内存,以及我们是否可以拥有指向节点对象本身的指针。我是C++编程新手,所以请指导我
是的,这是完全允许的。您可以使用以下内容创建对象:
node<int> int_node;
您可以通过以下方式动态分配一个:
node<int>* p_int_node = new node<int>();
在C++中,struct
与class
相同,只是所有内容都默认为 public
而不是 private
。
因此,您可以拥有一个结构模板,并且您想使用它执行的所有操作都与类模板相同。例如:
node<int> n1; // a `int` node
node<int> *n2 = new node<int>(); // pointer to dynamically allocated instance
相关文章:
- 我的超类中的模板问题与结构定义
- 为私有结构定义双参数运算符重载
- 可视化C++中的结构定义错误
- 如何在结构定义中组合__attribute__((dllexport))和[[nodiscard]]?
- COM 互操作结构定义与内存布局不匹配
- C 在标题文件中创建具有结构定义的结构的队列
- 如何将结构定义为结构的成员
- 在这个节点定义中,为什么我们在结构定义之后使用"Node"?
- 不同模块中的ambigus结构定义
- 有条件的C/C 结构定义
- C++ 初始化结构定义中的向量
- 字符串声明中的结构定义中的字符串声明
- 使用结构定义函数
- 为具有许多数据成员的结构定义 == 和<
- enableif结构定义和默认模板参数
- C 使用模板为结构定义别名
- C/C++ 中的套接字编程 - 接收由 typedef 结构定义的消息
- 为C++结构定义显式析构函数如何影响调用约定
- 当结构定义在头文件中时,如何在main()中创建结构数组
- C结构定义标准