聲明常量能夠方便代碼的修改,提升複用性.ios
const int maxn=10000; const int N=10000+10; const double exp=1e-6;
同時,聲明常量也能夠減小重複運算,提升代碼速度,例子以下:c++
string s; cin>>s; for(int i=0;i<len;i++) s[i]='a';
上述代碼中,能夠利用常量儲存s的長度,減小重複計算量.ide
string s; cin>>s; const int len=s.length(); for(int i=0;i<len;i++) s[i]='a';
寄存器變量能夠經過register關鍵詞聲明,聲明方法(樣例)以下:函數
register int i=0;
頻繁使用的變量能夠使用這種方法聲明,經常使用於for()函數內.優化
for(register int i=0;i<999999;i++)
機器會盡量多地將這種變量放入CPU中的寄存器內,而不是內存裏,從而提升效率.但要注意:寄存器變量不能使用指針.spa
//O1優化 #pragma GCC optimize(1) #pragma GCC optimize("O1") //O2優化 #pragma GCC optimize(2) #pragma GCC optimize("O2") //O2優化 #pragma GCC optimize(3) #pragma GCC optimize("O3")
c++中的萬能頭文件包含了幾乎所有的c++頭文件,引用方法以下:指針
#include <bits/stdc++.h>
這樣就能夠代替下面的一大堆頭文件了.code
#include <iostream> #include <cstdio> #include <fstream> #include <algorithm> #include <cmath> #include <deque> #include <vector> #include <queue> #include <string> #include <cstring> #include <map> #include <stack> #include <set> //......
可是並非全部OI競賽都支持使用,因此仍是不太推薦在競賽上使用.blog