title: Clarification on /= operator
body: <p>In the following code </p>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  
  int main(void){
  
    double *x, *y;
    unsigned long long int n=2;
  
    x = new double [2];
    y = new double [2];
  
    for(int i=0; i&lt;2; i++){
      x[i] = 1.0;
      y[i] = 1.0;
      //what is the following line doing exaclty? 
      x[i] = y[i]/=((double)n);
      cout &lt;&lt; "\n" &lt;&lt; x[i] &lt;&lt; "\t" &lt;&lt; y[i];
    }
  
    delete [] x;
    delete [] y;
  
    printf("\n");
    return 0;
  
  }
  </code></pre>
  
  <p>I do not understand what the combination of <code>=</code> and <code>/=</code> is doing exactly, and why this is allowed (the code compiles and runs correctly under Valgrind). </p>