title: C++ primary expressions - Is it primary expression or not?
body: <ol>
  <li><p>Why are they called "primary"? In the order of evaluence they are the first?</p></li>
  <li><p><code>C++03</code> standard defines the expression in chapter 5 (Note 1): </p>
  
  <blockquote>
    <p>An expression is a sequence of operators and operands that specifies a computation.</p>
  </blockquote>
  
  <p>Then the 5.1 "Primary expressions" defines the list of primary expressions:</p>
  
  <p>(1) primary-expression:</p>
  
  <pre><code>literal
  
  this
  
  ( expression )
  
  id-expression
  </code></pre>
  
  <p>My main question is in connection the third point:</p>
  
  <pre><code>( expression )
  </code></pre>
  
  <p>So, according to the standard, every expression with brackets are primary expressions and they are calculated firstly. It looks logical, and gives an exact explanation of the behavior of brackets in C++ expressions (precedence).</p>
  
  <p>So this means that for example</p>
  
  <pre><code>(variable + 10)
  </code></pre>
  
  <p>is a primary expression.</p>
  
  <pre><code>var = (variable + 10) * 3
  </code></pre>
  
  <p>and according to my theory, it looks logic, BUT from other sources I know</p>
  
  <pre><code>(variable + 10)
  </code></pre>
  
  <p>is NOT a primary expression, but WHY? I don't understand, however the standard defines the <code>(expression)</code> as a primary expression.</p></li>
  </ol>
  
  <p>Please, help me because I can't. Thank you very much, and sorry for my bad English.
  Hi.</p>