我凌乱了!关于C++中的char*!求助!
- C/C++ code
#include <iostream>#include <list>using namespace std;int main(){ char* a[]={"aaaa", "bbbb", "cccc"}; list<char*> clst(a,a+3); for (list<char*>::iterator iter = clst.begin(); iter != clst.end(); iter++) { cout << *iter << endl; } return 0;}
如代码所示,list容器里面放的是char*,也就是指针吧?那么我用迭代器访问list的元素,应该显示的是指针的值吧?为什么结果是指针所指的字符串的值呢??书上翻不到答案,求解啊!
[解决办法]
要打印指针值,把指针cast成void *。
cout << static_cast<void*>(*iter) << endl;
[解决办法]
楼主可回头看下字符数组那一块的知识~ ~