C string 与C++ string的区别

  1. 在C语言中,将字符串作为字符数组来处理。即C string就是 char arrary[MAX_SIZE];字符数组。而C++中的string 是 string class, 声明形式 string strObject.变量是个对象。只是他是C++ 标准库提供的string类,其实现效果跟用户自定义的类一样。
  2. C string 字符串可以用字符串数组 char Array[MAX_SIZE];与字符串变量 char *p; 两种方式来存储。以 ‘\0’为字符串结束标志。strlen 是把串结束符 ‘\0’算在内的,而sizeof是在对字符数组和字符变量的操作结果不一样,引起原理不一样。
    strcmp,strncmp,连接使用strcat, 不能 str1+str2, strncat,strcpy, stncpy; strchr(str1, ch); 在str1中查找ch第一次出现的位置,返回指针变量 而C++ string是类,是对象.结束符是npos,或者-1;而这个判断多是在使用 c++ string的成员函数时使用不用指定字符数目的大小。
    + 取代了strcat length和size取代了strlen
    append, compare, substr,find, find_firt_of等函数可以直接=, 而不用strncpy。insert, replace, at, erase, clear, swap还有iterator函数的实现。
    ******************************** 以上内容整理自原文***********************************

你可能感兴趣的:(基础知识)