c/c++语言开发共享什么是C字符串和C ++字符串之间的区别?

什么是C字符串和C ++字符串之间的区别。 特别是在进行动态内存分配时

    我几乎不知道从哪里开始:-)

    在C中,字符串只是char数组,按照惯例,它以NUL字节结尾。 在动态内存管理方面,您可以简单地为它们malloc (包括额外的字节)。 修改字符串时的内存管理是您的责任:

     char *s = strdup ("Hello"); char *s2 = malloc (strlen (s) + 6); strcpy (s2, s); strcat (s2, ", Pax"); free (s); s = s2; 

    在C ++中,字符串( std::string )是具有所有相关自动内存管理和控制的对象,这使得它们更安全,更易于使用,尤其对于新手而言。 对于动态分配,请使用以下内容:

     std::string s = "Hello"; s += ", Pax"; 

    我知道更喜欢使用哪种,后者。 您可以(如果需要)始终使用c_str()方法从std::string构造一个C字符串。

    C ++字符串更安全,更容易,并且它们支持不同的字符串操作函数,如追加,查找,复制,连接等。

    通过以下示例说明了c string和c ++ string之间的一个有趣区别

     #include  using namespace std; int main() { char a[6]; //c string a[5]='y'; a[3]='o'; a[2]='b'; cout< 

    输出»¿boRy¤£f·Pi»¿

     #include  using namespace std; int main() { string a; //c++ string a.resize(6); a[5]='y'; a[3]='o'; a[2]='b'; cout< 

    输出男孩

    我希望你明白了!

    需要了解更多c/c++开发分享什么是C字符串和C ++字符串之间的区别?,也可以关注C/ C++技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享什么是C字符串和C ++字符串之间的区别?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980395.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐