[]要求数组或指针
1.
string str="hello world!";
string *p=&str;
for(unsigned int i=0;i<str.size();i++)
cout<<(*p)[i];
这里p[i]是错误的,因为string类对象不是传统的对象,而(*p)可以认为是一个数组
2
char *p="hello world!";
cout<<p[i];
这里注意:sizeof(p)是4,只是一个指针的大小
sizeof(*p)是1,是一个char的大小
博客园 © 2004-2025 浙公网安备 33010602011771号 浙ICP备2021040463号-3