什么是string类?String有哪些作用?

来源:汪清新闻网 | 2023-03-28 14:06:18 |

C++、java、VB等编程语言中的名词。 在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string>是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。其中的string是以char作为模板参数的模板类实例,把字符串的内存管理责任由string负责而不是由编程者负责,大大减轻了C语言风格的字符串的麻烦。std::basic_string提供了大量的字符串操作函数,如比较、连接、搜索、替换、获得子串等。并可与C语言风格字符串双向转换。std::basic_string属于C++ STL容器类,用户自定义的类也可以作为它的模板参数,因此也适用C++ STL Algorithm库。string本质上是以字符作为元素的vector特化版本;不存在0字符结尾这个概念,能装入'\0'这种数据。

String有哪些作用?

当我们想在字符串 s 后面拼接字符"ef"时,会在堆中创建一个新的对象,并将 s 的引用指向新创建的对象,由于 String 创建的是不可变对象,所以String 类中的所有方法都不会改变它自身,而是返回一个新的字符串(快打开你的 IDE,看看是否每个操作String 的方法最后都是返回有 return new String 字样),到这里你也应该理解了一个道理:如果我们需要一个字符串被修改,我们最好使用 StringBuffer 或者 StringBuilder,否则,由于每次操作字符串都会创建一个新的对象,而旧的对象不会有引用指向它,这样我们会浪费很多垃圾回收的时间


备案号:粤ICP备18023326号-41 联系网站:85 572 98@qq.com