title: Pointer vs. Reference
body: <p>What would be better practice when giving a function the original variable to work with:</p>
  
  <pre><code>unsigned long x = 4;
  
  void func1(unsigned long&amp; val) {
       val = 5;            
  }
  func1(x);
  </code></pre>
  
  <p>or:</p>
  
  <pre><code>void func2(unsigned long* val) {
       *val = 5;
  }
  func2(&amp;x);
  </code></pre>
  
  <p>IOW: Is there any reason to pick one over another?</p>