title: don't quite get what is: uintptr_t value(astruct.val)
body: <p>I found the following syntax in a c++ source file (not header):</p>
  
  <pre><code>template &lt;typename Type_&gt; static void aFunction(Type_ &amp;function, ...) {
      uintptr_t value(astruct.val); //confusing
  }
  </code></pre>
  
  <p>Is that confusing line in question a declaration for value? I tried writing a hello world program like:</p>
  
  <pre><code>int main(){ uintptr_t a(80); return 0;}
  </code></pre>
  
  <p>and it returns an expected declaration specifiers or ‘...’ before numeric constant, may i know what does that confusing line do? Thanks!</p>
  
  <p>Edit: I think i should reveal the full function declaration:</p>
  
  <pre><code>    template &lt;typename Type_&gt;
  static void nlset(Type_ &amp;function, struct nlist *nl, size_t index) {
      struct nlist &amp;name(nl[index]);
      uintptr_t value(name.n_value);// this is the confusing line
      if ((name.n_desc &amp; N_ARM_THUMB_DEF) != 0)
          value |= 0x00000001;
      function = reinterpret_cast&lt;Type_&gt;(value);
  }
  </code></pre>