C++ 单双引号区别

 2023-09-05 阅读 88 评论 0

摘要:赢家只关注怎么赢,输家只关注赢家在干嘛 自己从 Python 转 C++,一个很严重的问题是搞不清引号怎么用。在 Python 中,单双引号无所谓,随便用,只要别混用就好。但是 C++ 明显不同,刚好今天做 leetcode 时结结实实踩

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

自己从 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~

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/765.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息