Endereço de cada caractere de std :: string
Tentei imprimir o endereço de cada caractere destd::string
. Mas não estou entendendo o que está acontecendo internamente comstd::string
que está resultando nessa saída, enquanto para a matriz está fornecendo o endereço como eu esperava. Alguém poderia explicar o que está acontecendo?
#include <iostream>
#include <string>
using namespace std;
int main(){
string str = "Hello";
int a[] = {1,2,3,4,5};
for( int i=0; i<str.length(); ++i )
cout << &str[i] << endl;
cout << "**************" << endl;
for( int i=0; i<5; ++i )
cout << &a[i] << endl;
return 0;
}
Resultado
Hello
ello
llo
lo
o
**************
0x7fff5fbff950
0x7fff5fbff954
0x7fff5fbff958
0x7fff5fbff95c
0x7fff5fbff960