C++中内联函数的效率问题
2015-09-22 21:02
399 查看
2
没有内联函数时:
hello world!
hello world!
。。。。。
hello world!
using time:10seconds
使用内联函数:
hello world!
。。。。
hello world!
using time:8seconds
对函数的内联声明必须在调用之前。
内联函数体应该尽可能的小,且要结构简单。只适合只有1~5行的小函数。
内联函数中不能含有复杂的结构控制语句,如switch和while。
没有内联函数时:
#include <iostream> #include <Ctime> //#include <fstream> using namespace std; /*inline */void print(); void print() { std::cout<<"hello world!"<<endl; } int main(int argc,char **argv) { clock_t t = clock();//开始计时 for(int i = 0;i < 10000;i++) print(); std::cout<<"using time:"<<(clock()-t)/CLK_TCK<<"seconds"<<endl; //计算中间时间差 return 0; }
hello world!
hello world!
。。。。。
hello world!
using time:10seconds
使用内联函数:
#include <iostream> #include <Ctime> //#include <fstream> using namespace std; inline void print(); void print() { std::cout<<"hello world!"<<endl; } int main(int argc,char **argv) { clock_t t = clock();//开始计时 for(int i = 0;i < 10000;i++) print(); std::cout<<"using time:"<<(clock()-t)/CLK_TCK<<"seconds"<<endl; //计算中间时间差 return 0; }
hello world!
。。。。
hello world!
using time:8seconds
对函数的内联声明必须在调用之前。
内联函数体应该尽可能的小,且要结构简单。只适合只有1~5行的小函数。
内联函数中不能含有复杂的结构控制语句,如switch和while。
相关文章推荐
- C++11变参模板的参数包
- C++中函数的重载
- C++ 堆 和 堆 分析
- C++函数的默认值问题
- More Effective C++ 条款16 谨记80-20法则
- c/c++ 获取当前程序(EXE)所在的路径
- opencv在C++窗体程序中 导包出错
- C++中相对路径与绝对路径以及斜杠与反斜杠的区别
- C++学习记录之string字符串
- C语言程序初体验-第六课-第三题:一周工资数
- C语言中枚举的使用
- C++多线程编程
- C语言程序初体验-第六课-第一题:两个正整数的正差值
- 【C语言】 字符串的内存拷贝处理函数
- C语言程序初体验-第六课-第二题:三个整数比较
- More Effective C++ 条款15 了解异常处理(exception handling)的成本
- eclipse 利用已有c++代码建工程,并编译执行
- 用c语言计算1/1-1/2+1/3-1/4+1/5-...+1/99-1/100
- 用c语言统计一个字符串中有多少个数字字符
- VS2013 配置全局 VC++ 目录