求助有关C++中string的问题
问题源自于c++primer中的一道习题
疑问1:p78 练习题3.9 和 书上关于string下标的说法貌似有矛盾?
书上:如果string 不为空的话, 那么s[0]就是其第一个字符,s[s.size() - 1] 就是其最后一个字符.
但是 练习题 中的string 为空,长度为0 , 然而 cout << s[0] 或是 cout << s[1] 竟然没有出错!编译通过且运行无错!
程序:
#include <string>
#include <iostream>
using namespace std;
int main()
{
string s;
cout << s[1] <<endl;
cout << "length of s is " << s.size() <<endl;
return 0;
}
结果:
length of s is 0
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不是输出空格吗