本篇博客就C++中的一些实用编程技巧进行总结,适合于初学者。持续更新中,欢迎评论区补充。
- 解决爆栈问题,手动加栈,必须放在头文件之前:
#pragma comment(linker,"/STACK:1024000000,1024000000")
- 可以使用typedef定义long long的缩写为ll,这样在用到long long时,直接使用ll代替,节省时间。
typedef long long ll;
- 学会使用pair。当一个数组或者vector中只有两个元素时,使用pair最为简单。pair的定义可以进一步简化,比如我们可以用long long简化为ll相同的方式,把string与int组成的pair简写为psi,这样每次使用的时候相当方便。
typedef pairpsi;
- 运算符重载的技巧可以与sort排序相结合,从而实现直接对类进行sort排序。例如:
class Student { public: Student(int p) { this->pno=p; } int pno; int score; //运算符重载,从而可以sort排序 bool operator < (const Student& s) const { return this->pno
- 提高cin与cout的速度有一种方法,那就是:
ios::sync_with_stdio(false);不过可惜的是,这样还是不如scanf快,因此如果时间要求苛刻的话,还是老老实实用scanf和printf吧!
- C++中的输入方法总结:
char ch=cin.get();//读入单个字符 string str; getline(cin,str);//#include,读入一行,可以读入空格 char cha[100]; cin.getline(cha,100); //#include ,读入一行,可以读入空格 gets(cha); //可以读入空格
- 某些oj无法直接复制输入样例,或者某些终端没法直接粘贴,这样的话,可以将C++标准IO流变为文件IO流,但是用完记得删掉,不然就wa了!
freopen("1.txt","r",stdin); freopen("2.txt","w",stdout);
- 不确定输入个数时的读入方法:
while(cin>>n) {}欢迎分享,转载请注明来源:内存溢出
评论列表(0条)