发现了c++万能头文件#include<bits/stdc++.h>
血与泪的经验!!!不要把全局变量命名成start ,end ,_start,_end也不行!!!
位运算
<<和>>并不是赋值,不要记混,只是返回运算结果,如+和- 实现改变一个数移位要 b<<=1;不要b<<1;
DEV C++
不要在源文件名字里加 ' 会导致不能调试断点,也许中文和特殊符号也会导致这个问题,路径最好也是使用纯英文路径
二进制运算
Set
set集合自带 set_union(ALL(x1), ALL(x2), INS(x));取交集操作
和set_intersection(ALL(x1), ALL(x2), INS(x))取并集操作
其中的ALL(x),INS(x)通常都是方便调用取的宏
#define ALL(x) x.begin(),x.end()
#define INS(x) inserter(x,x.begin())
//其中的 inserter顾名思义,是一个插入迭代器,可以对所有的stl结构做insert操作,该函数在头文件<iterator>中
//有关三类迭代器,更多可以见https://blog.csdn.net/yangshun2008/article/details/7942544
意思是将x1集合中所有的元素与x2集合中所有的元素取并集/交集 然后将结果插入到x集合的开头(x集合一般是新创建的空集合)
set集合的 settemp.count(key)函数是通过key来查找value 如果该集合中存在这个key返回1,否则返回0;
string
sring中自带的对字符串操作的函数可以互相配合使用,它们的参数中总是会 “位置” 这个参数是从0开始数起的,还会有“个数”这个参数,是从1开始数起
string str1(
"Heterological paradoxes are persistent."
);
basic_string<
char
>str2=str1.substr(6,7);