错误方式:
char data[5] = { 'a', 'a' , 'a' ,'a', 'a' };
string str_data = data;
string str_data_1(data);
string str_data_2 = string(data);
如果这样做,你会发现string的大小并不是5,而是一个很大的值。
这是因为直接按照上述方式进行转换时,char data[5]中不包含string的结束符‘\0’,而char*直接转string时,string会从char*里面寻找结束符,作为string的标志