title: C++: Appending linked list recursively
body: <p>This code is supposed to append two linked lists, I totally fail to see how this code appends the two Cell Structs passed as arguments, as no manipulating is happening to the second parameter. it justs asks for the next node in the first Cell - so how can this work?</p>
  
  <pre><code>void Append(Cell *&amp; first, Cell* second)
  {
    if (first == NULL)
    {
      first = second;
    }
  else {
      Append(first-&gt;next, second);
    }
  }
  </code></pre>