(只有气到我肺都炸了的情况下我才可能废一些时间去写博客(主要是写一些气话),但现在气消得差不多了我也骂不出什么话了。
正文
1、字符串拼接分软拼接和硬拼接(“软硬拼接”是我自己发明的词~实际上到底有没有这种说法我就没去管了)
2、所谓软拼接,就是字符串后面加的是【字符串】;硬拼接就字符串后面加的是【字符】
3、软拼接,只会拼接'\0'之前的有效字符;硬拼接,是什么字符都能硬加进去,包括'\0'
4、硬拼接如果拼接的是'\0',在判等的时候很大概率翻车。(在map的find函数里会要用到判等的。没错我就这翻的车,查了大半天原因
不要问我,“为啥不直接字符转字符串鸭~”,自己先试试吧,等和我一样杀疯了就明白的了(“杀疯了”只是玩室友的梗而已
也不要问我,“为啥不用’to_string’这函数呀,我觉得挺好用的啊”,嗯,我也觉得挺好用的,直到在我运行时疯狂出错的时候我才发现情况不对。(to_string这玩意儿是专门给数值转字符串的,如果用在字符上,那字符会首先转成ASCII码然后再转成字符串,这说不太清,直接一段代码就明白的了
#include<string>
#include<iostream>
using namespace std;
int main() {
string strA(to_string('A'));
cout << strA << endl;//输出结果是【65】,惊不惊喜意不意外?
//但实际上就是这样的。当仔细查看to_string()所对应的参数类型时就明白,
//这玩意儿压根就不能给字符转字符串用的
return 0;
}
【那啥软硬拼接的举例代码如下】