title: Get index in range-based for loop for sequential containers in c++11
body: <p>I have seen following snippet in Go.
  Getting index while doing range based for loop.</p>
  
  <pre><code>var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}
  
  for i, v := range pow {
      fmt.Printf("2**%d = %d\n", i, v)
  }
  </code></pre>
  
  <p>Is there any such provision in c++11 in range-based for loop? I know having a variable and incrementing is an option, but this is more powerful.</p>