在C ++ 11中为基于顺序的容器获取基于范围的for循环的索引

I have seen following snippet in Go. Getting index while doing range based for loop.

var pow = []int{1, 2, 4, 8, 16, 32, 64, 128}

for i, v := range pow {
    fmt.Printf("2**%d = %d
", i, v)
}

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.