• C++的string类型和继承C语言风格的字符串的区别与注意事项


    1、尽可能地在C++程序中使用string,不要使用继承而来的C语言风格的字符串,会出现许多安全问题。

    2、C语言的字符串风格,是以空字符结束的,在C++的头文件cstring中定义了C语言风格的字符串函数,

    例如strlen(p);  返回p的长度,并且不把空字符计入但是该函数只有检索到空字符才返回。所以传给该函数的p必须是一个包含空字符的字符串(数组)。

    3、比较字符串,string类型的字符串之间的比较是字符串本身的比较,返回的值是false 或者 true。而C语言风格的strcmp(p1,p2);  其参数是两个指针之间的比较。

    4、连接字符串,string类型连接字符串使用的是+运算符,不需要关注存储连接后的字符串的空间是否足够。而C语言风格的strcat(p1,p2);  则需要关注p1的大小是否足够容纳p1和p2连接之后的大小。

    5、以上的C语言风格的字符串函数,都是不验证其中字符串的参数。

    6、对数组的操作,实际上是对指针的操作。

    7、使用C语言风格的strcmp函数的返回值,不能一概而论为0,-1,1。具体的编译器的返回值不同,但是大于:正数>0;小于:负数<0;等于:0;肯定正确。

  • 相关阅读:
    [LeetCode] Letter Combinations of a Phone Number
    [LeetCode] Combinations
    [Algorithms] Longest Increasing Subsequence
    2.Orange安装
    1.Orange是什么鬼?
    5.motan之注解方式配置
    4.motan之集群调用
    3.motan之异步调用
    2、motan入门程序
    1、微博RPC框架Motan
  • 原文地址:https://www.cnblogs.com/Dark-King/p/9417620.html
Copyright © 2020-2023  润新知