char *CharToString(string *sHead,int arraySize)这句话怎么理解?

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:06:27

按照你这个函数本身来看,就是说要把一组char类型的数据,转换成为string类型。但是这样理解的话,有几个问题:
1.明明结果是string。返回的却是char*指针,如果不是我理解错误的话,这个地方是有点不合理的。
2.函数的参数应该是char或者char[]类型,但是却写做了string*。很诧异。那就跟函数名称的意义相矛盾了。
3.如果参数真的是string类型的话,int arraySize是没有意义的。因为string类里面有相应的函数可以显示大小。sHead->size()。

另外给你点补充。如果真要实现char to string的话,跟本不用类型转换。你直接对char[]的数据进行string类的操作即可。编译器会做准确的类型转换。但是如果要把string 转换成char[],可以在string里调用一个函数。很方便很准确。

希望我的解释能使你明白。
dacer250@gmail.com