Блог пользователя abhinav700

Автор abhinav700, история, 13 месяцев назад, По-английски

While declaring a link list, why do we create a new Node using Node* node = new Node(value) ? Can't we simply use Node node(val) if not, then why? and if we can, what are changes to our code we will have to make while using later syntax, for basic operations on link lists?

I was revising link list, and although I can solve the questions, I was confused with this syntax.

  • Проголосовать: нравится
  • -21
  • Проголосовать: не нравится

»
13 месяцев назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Node node(val);
allocates memory in the stack, can't be used after the function completes

Node* node = new Node(val); allocates memory in the heap, and can be used until delete is called

This post is heavily downvoted because this is a basic thing to know before trying to implement linked lists.