问题描述
在链表中创建新节点时,使用指定的初始化器来初始化节点的成员是否合法,如下所述? 这样做有什么影响吗?实现相同结果的更好方法是什么? (语言:C++)
Node *temp = new Node{.data = value,.next = NULL};
struct Node
{
int data;
Node *next;
};
解决方法
我认为您可以将函数用作构造函数。
Node* newFunction(int data) {
Node* newNode = malloc(sizeof(Node));
newNode->data=data;
newNode->next=NULL;
return newNode;
}
之后,你可以像这样在主要部分使用;
Node* newNode = newFunction(5);