C++11 auto 遍历数组 如果需要使用到 下标的值怎么办?

C++11 可以使用auto遍历数组了。
但是这样一来,就没有下标了。这样的话,如果我在循环内部如果想使用
下标的话,怎么办?
难道还要退回到原来的for循环那种形式,i从0开始遍历的那种吗?

int arr[] = {1, 5, 3, 4},num=0;
for(auto i : arr) {

cout<<i<<" ";
num++;//用来计数
}

是的,用之前的那种形式吧