当前位置: 编程技术>c/c++/嵌入式
浅析string类字符串和C风格字符串之间的区别
来源: 互联网 发布时间:2014-10-19
本文导语: 最大的区别就是C风格的字符串是静态的,不可以动态变化,使用极为麻烦。而C++的std::string类型动态管理,非常方便。 C风格字符串和char数组是不一样的,看下面两种定义:char carr1 = {'a', 'b', 'c'};char carr2 = {'a', 'b', 'c', ''};看上...
最大的区别就是C风格的字符串是静态的,不可以动态变化,使用极为麻烦。
而C++的std::string类型动态管理,非常方便。
C风格字符串和char数组是不一样的,看下面两种定义:
char carr1 = {'a', 'b', 'c'};
char carr2 = {'a', 'b', 'c', ''};
看上面,carr2可以说成是C风格字符串,carr1就不是C风格字符串,C风格字符串必须要以''结尾的。
string类是标准库的类,并不是内置类型,标准库就像是我们自己定义的类差不多的,string类型对象没有标配''结尾的。如果需要用string类给C风格字符串赋值的话,后面是需要添加''的。