废话少说, 看程序:
#include <iostream>
#include <string>
using namespace std;
int main()
{
{
char szTest[] = "\0abc";
string s;
s += szTest;
printf("size is %u\n", s.size());
}
{
char szTest[] = "\0abc";
string s;
s.append(szTest, sizeof(szTest) - 1);
printf("size is %u\n", s.size());
}
return 0;
}
结果分别是0和4, 不言而喻, string就是一个容器, 用来装字符, 对任何字符透明。