我的阵列在哪里?

Mar*_*ark 3 c c++ arrays pointers

这是自动生成的C代码,所以请不要介意我通过char指针滚动的方法

我正在使用char指针来存储字符串:

char str[] = "Hello!";
char *ptr = str;
Run Code Online (Sandbox Code Playgroud)

我使用指针算法滚动它:

++ptr;
++ptr;
...
...
--ptr;
Run Code Online (Sandbox Code Playgroud)

我想在某个时候知道它指向的确切索引(例如,"Hello"中的'e'为1).我该怎么做呢?

Don*_*eba 11

恰当地,std::distance(str, ptr)或者只是ptr - str.