头文件cstring/string/string.h、以及string/CString的区别
1.头文件cstring/string/string.h的区别
string.h,面向的是C风格的字符串,处理的是char*,'\0'结尾的这种类型的字符串,包括比如strcpy之类的字符串处理函数,
没有加入到C++标准库中。调用的时候使用全局命名空间。 cstring,则是兼容C的头文件,里面的函数是基于C或者说C风格的比如strcpy之类的字符串处理函数,加入到C++库中,
被定义的std命名空间,调用的时候需要使用std命名空间。
string,是C++定义的定义的std::string所使用的文件,是string类的头文件,属于STL范畴。调用的时候需要使用std命名空间。
2.CString/string的区别
CString类是微软的visual c++提供的MFC里面的一个类,所以只有支持MFC的工程才可以使用,并不在std命名空间中,
因为它不是c++的标准库,只是微软的一个封装库。
string类是在c++标准库中,所以它被封装在了std命名空间中,使用之前需要声明using namespace std,string类的程序的移植性更好。
linux上的工程就不能用CString了,只能用标准C++中的string类了。
浙公网安备 33010602011771号