关于C/C++的各种优化
2020-02-06 16:01:01来源:博客园 阅读 ()
关于C/C++的各种优化
一.常量
声明常量可以方便代码的修改,提高复用性.
const int maxn=10000; const int N=10000+10; const double exp=1e-6;
同时,声明常量也可以减少重复运算,提高代码速度,例子如下:
string s; cin>>s; for(int i=0;i<len;i++) s[i]='a';View Code
上述代码中,可以利用常量储存s的长度,减少重复计算量.
string s; cin>>s; const int len=s.length(); for(int i=0;i<len;i++) s[i]='a';View Code
二.寄存器变量
寄存器变量可以通过register关键词声明,声明方法(样例)如下:
register int i=0;
频繁使用的变量可以使用这种方法声明,常用于$for()$函数内.
for(register int i=0;i<999999;i++)
机器会尽可能多地将这种变量放入CPU中的寄存器内,而不是内存里,从而提高效率.但要注意:寄存器变量不能使用指针.
三.编译优化(O1/O2/O3)
//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")
四.万能头文件(OI竞赛请慎用)
c++中的万能头文件包含了几乎全部的c++头文件,引用方法如下:
#include <bits/stdc++.h>
这样就可以代替下面的一大堆头文件了.
#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竞赛都支持使用,所以还是不太推荐在竞赛上使用.
原文链接:https://www.cnblogs.com/mjxdev/p/c-opt.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:手把手教你如何玩转CLion
- C++ 转换函数搭配友元函数 2020-06-10
- C++ 自动转换和强制类型转换(用户自定义类类型) 2020-06-10
- C++ rand函数 2020-06-10
- C++ 友元函数 2020-06-10
- C++ 运算符重载 2020-06-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash