title: C++ does not allow vector with negative index?
body: <p>I was trying to create some vector with negative index but just learnt that it was not allowed in C++. Is there any alternative or better way to do it?</p>
  
  <p>for example I want to create a 3D vector named Wt:</p>
  
  <p>in VBA context array was like built like this: easy and nice </p>
  
  <pre><code>Redim Wt(0 to k_max,-i_max to i_max,-j_max to j_max)
  ' and use it like below for example: 
  Wt(3, -100, -105) = .....
  </code></pre>
  
  <p>in C++ context it was unfriendly and inconvenient: </p>
  
  <pre><code>// resizing the vector:
  Wt.resize(k_max + 1);
  for (int k = 0; k &lt; k_max + 1; k++) {
      Wt[k].resize(2 * i_max + 1);
      for (int i = 0; i &lt; 2 * i_max + 1; i++) {
          Wt[k][i].resize(2 * j_max + 1);
      }
  }
  
  // when using the vector:
  for (int k = 0; k &lt;= k_max; k++) {
      for (int i = -i_max; i &lt;= i_max; i++) {
          for (int j = -j_max; j &lt;= j_max; j++) {
              Wt[k][i + i_max][j + j_max] = ...
          }
      }
  }
  </code></pre>