C++中为什么案例中喜欢把字符串写成char arr[],而不是string arr呢?

来源:百度知道 编辑:UC知道 时间:2024/06/17 05:22:15

这里我们有一个误区:标准C++中是不含string类,而string是在c++标准库中(即stl)中定义的。stl中还定义了很多如map,set,vector之类,标准库是c++的一个补充。在stl之前的编译器是不支持标准库。

另外,根据个人经验,用string与其重载的运算符的速度远不及用char[]快(速度可能不在一个数量级)。

一般c++里的字符串的标准写法就是char arr[],而java里是string arr;
例如对于字符串s,我们一般就在c++或者c中写成 :
char s[ 10000 ];//括号里的数字根据你需要的字符串长度定

如果你执意要用string ,那么保险起见最好在之前的头文件声明中加上:
#include <string>
(虽然namespace std可能也包含,但是这两个库并不完全重合)

在要用到string arr时,需要调用函数#include<string>,即string容器,对于字符串的 书写方式,看情况而定。

6楼说得对。
char[]是c++的内置数据格式
而string是stl中的类(class)

这是两种不同的风格,但是char arr[]用的到的地方string arr有时候会用不了,这和编译器有关,比如说定义一个结构体的时候里面属性用char arr[],但有些老版本的支持char arr[]而不支持string arr,虽然string arr的功能要强大的多,例子是考虑到通用性,因为它不知道你使用的编译器是什么版本~~

估计是为了通用