Cstring和string的区别和联系.docxVIP

  • 5
  • 0
  • 约3.79千字
  • 约 4页
  • 2023-04-26 发布于上海
  • 举报
Cstring 和 string 的区别和联系 相同点: 用他们都可以取代对 char*的使用。 都封装了有丰富的字符串操作接口。 他们都是 C++的类库。-- 以 string 的使用为例,不能有如下用法: string * pstr = NULL; //定义一个指向字符串的指针 pstr-append(Hello world.); //在该字符串的末尾粘接上另一个字符。这样做编译器不会有任何警告和错误,但是运行的时候就会有异常。 原因是没有理解 string 是一个类,而在定义类的对象的时候是需要调用其构造函数的。上面既没有调用string 的构造函数,而且还把指针赋值为NULL,很明显调用该类的对象的接口的时候会出错。但是编译器却发现不了这个问题的。 正确的方法是如下: /*这里必须要用 c++的宏 new,而不能用 c 中的 malloc,原因是 new 不但会分配一块内存,*/ /*还执行了类的构造函数。当然,string 类的实例化还可以通过已有的某个string 对象进行,请另查阅*/ string * pstr = new string(Hello world.); pstr-append(Hello world.); coutstring * pstr is:*pstrendl; 或者不用指针,如下也可以: string str; //会自动调用默认的构造函数,构

文档评论(0)

1亿VIP精品文档

相关文档