char* 与 string
string是一个容器,c++中封装了一个string类,
char*则是一个指针,指向一个数组的首地址。
string的内存管理是由系统处理,除非系统内存池用完,不然不会出现这种内存问题。
char *的内存管理由用户自己处理,很容易出现内存不足的问题
尽量使用 string 而不用 char* 。
二者的转换:
char*向string转换支持隐式类型转换,即:
char* c[ ] = {1,2,3};
string p = c ;
而string转char*一般需要用到一个c_str()函数;
char* c = p.c_str();