title: What are the differences between a pointer and a reference in Rust?
body: <p>A pointer <code>*</code> and a reference <code>&amp;</code> in Rust share the same representation (they both represent the memory address of a piece of data).</p>
  <p>What's the practical differences when writing code though?</p>
  <p>When porting C++ code to Rust, can they be replaced safely (C++ pointer --&gt; rust pointer, C++ reference --&gt; rust reference) ?</p>