在 C++ 中 string 是一个类,里面包含一个 char 类型数组,可以利用 append() 或者 += 重载符扩展数组。
如果直接用下标访问,则可以会出现越界。如下
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string test(string s1) {
string s;
for(int i = 0; i < 100; i++)
s[i] = '0';
return s;
}
int main() {
string s;
s += test(s);
s += "fsdgsgas";
cout << s << endl;
cout << s.size() << endl;
getchar();
return 0;
}
正确的做法是用 += 重载符在 string 后面添加内容。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string test(string s1) {
string s;
for(int i = 0; i < 100; i++)
s += '0';
return s;
}
int main() {
string s;
s += test(s);
s += "fsdgsgas";
cout << s << endl;
cout << s.size() << endl;
getchar();
return 0;
}
网友评论