Home > Net >  linked list c difference between void function and return this
linked list c difference between void function and return this

Time:04-08

I have a question about the differences between 2 styles of coding:

void *addfirst (int data){
     head = new Node(int data, head);
     return;
}

and the second is:

LinkedList *addfirst (int data){
     head = new Node(int data, head);
     return this;
}

My prof said that nowadays most people prefer the second choice, but I don't know if there was any advantages, compare with the first one?

CodePudding user response:

void *addfirst (int data){
     head = new Node(int data, head);
     return;
}

The function is declared to return an object of type void*. The function returns by returning nothing. The behaviour of the program is undefined.

LinkedList *addfirst (int data){
     head = new Node(int data, head);
     return this;
}

This function does return an object. The behaviour is well defined.

  • Related