赢家只关注怎么赢,输家只关注赢家在干嘛
自己从 Python 转 C++,一个很严重的问题是搞不清引号怎么用。在 Python 中,单双引号无所谓,随便用,只要别混用就好。但是 C++ 明显不同,刚好今天做 leetcode 时结结实实踩了一个坑,所以记录在这边。
今天遇到的问题是类似这样的:
string s;
// s赋值语句省略
for(auto str : s) {if (str == " ") {// 处理语句}
}
这样写会编译报错。
开始以为是字符串不能用等于号直接比较。就去找了一下,找到了 strcmp
和 strncmp
两个函数,但后来发现它们是C语言中的。又去找其他原因,最终终于在某个示例代码中找到了if
语句中的字符串比较语句,发现是单引号的。
具体来讲,C++中单双引号的区别可以记住一条原则:
单引号会创建一个单字符,而双引号则创建一个字符串常量
大概的意思,举个例子:
在C++中,’c‘ 就代表 c
这个字符,而 ”c“ 则代表 ’c’ + ‘\0’,其中 ‘\0’ 为字符串的结尾。
不过还是顺带提一句,C++中比较依然不像 Python 那么方便,所以使用的时候还是多加注意,over~
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态