美文网首页
C++ 单双引号区别

C++ 单双引号区别

作者: 全方位小白 | 来源:发表于2020-07-05 21:38 被阅读0次

    赢家只关注怎么赢,输家只关注赢家在干嘛

    自己从 Python 转 C++,一个很严重的问题是搞不清引号怎么用。在 Python 中,单双引号无所谓,随便用,只要别混用就好。但是 C++ 明显不同,刚好今天做 leetcode 时结结实实踩了一个坑,所以记录在这边。

    今天遇到的问题是类似这样的:

    string s;
    // s赋值语句省略
    for(auto str : s) {
        if (str == " ") {
           // 处理语句
        }
    }
    

    这样写会编译报错。
    开始以为是字符串不能用等于号直接比较。就去找了一下,找到了 strcmpstrncmp两个函数,但后来发现它们是C语言中的。又去找其他原因,最终终于在某个示例代码中找到了if语句中的字符串比较语句,发现是单引号的。

    具体来讲,C++中单双引号的区别可以记住一条原则:

    单引号会创建一个单字符,而双引号则创建一个字符串常量

    大概的意思,举个例子:
    在C++中,’c‘ 就代表 c 这个字符,而 ”c“ 则代表 ’c' + '\0',其中 '\0' 为字符串的结尾。

    不过还是顺带提一句,C++中比较依然不像 Python 那么方便,所以使用的时候还是多加注意,over~

    相关文章

      网友评论

          本文标题:C++ 单双引号区别

          本文链接:https://www.haomeiwen.com/subject/nslbqktx.html