首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

string类型有关问题

2012-11-14 
string类型问题string sasdfsdf&s[0]不是应该是s首元素的地址吗?可是cout &s[0] 输出的是asdfsdf[

string类型问题
string s="asdfsdf";

&s[0]不是应该是s首元素的地址吗?

可是cout << &s[0] ;输出的是asdfsdf

[解决办法]
cout<<在作怪 知道函数重载把? cout每次输出都要重载 所以你输出的结果就是字符串
[解决办法]
cout流的工作原理就是找到string的首地址,然后输出整个字符串啊,所以你把string的首地址取出来放到cout流里面,肯定就是输出完整的字符串
[解决办法]
&s[0]是一个char*指针,它的值是s首元素的地址
cout重载了<<操作符,其中对于char*类型的输入,重载为输出该指针指向的字符串

个人不建议刚入门的程序员使用cin和cout,因为它们比刚入门的程序员要智能得多
推荐scanf和printf,严格按照格式控制输入输出
[解决办法]

探讨
&amp;s[0]是一个char*指针,它的值是s首元素的地址
cout重载了<<操作符,其中对于char*类型的输入,重载为输出该指针指向的字符串

个人不建议刚入门的程序员使用cin和cout,因为它们比刚入门的程序员要智能得多
推荐scanf和printf,严格按照格式控制输入输出

[解决办法]
推荐你用c_str() 不要用&s[0] 这么丑陋的东西。。。

热点排行