c++ 怎么用指针指向string型的字符串

其他类型的不能指向,但是string又不能定义指针的,怎么办?

仔细理解一下迭代器吧
string s="abcdefghi";
for (string::iterator it=s.begin();it!=s.end();it++)
cout<<*it;

仔细到网上搜一下迭代器吧。可以先去百度百科看看。
迭代器可以说是一种智能的指针,涉及东西很多,不是一两句话能说清的。

某位先生自己学艺不精,不会用STL,就以为人家string类不好。不要在这里误导楼主好不?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-28
定义一个string相当于一个字符数组,那么数组名就该是他的首地址。
就像int a[1001];传递地址直接用a即可。
如果是我,我会毫不犹豫的改用char。提醒你一句:虽然string有许多诱人的方便的函数,但是定义string k;k的长度不大!!有时会出问题,比如:算法正确,但是只对5个测试点……
第2个回答  推荐于2016-07-06
我怎么可以用?

#include <iostream>
#include <string>
using namespace std;

int main()
{
string *p;
string msg("hello world!");
p=&msg;
cout << *p << endl;
cout << (*p)[0] << (*p)[p->length()-1] << endl;
system("pause");
return 0;
}本回答被提问者采纳
相似回答