Which of these is a more correct way to store the first object in a linked list? Or could someone please point out the advantages/disadvantages of each. Thanks.
class Node
{
    int var;
    Node *next;
    static Node *first;
    Node()
    {
        if (first == NULL)
        {
            first = this;
            next = NULL;
        }
        else
            //next code here
        }
    }
}
Node* Node::first = NULL;
new Node();
-- OR --
class Node
{
    int var;
    Node *next;
    Node()
    {
        //next code here
    }
}
Node* first = new Node();