现在的位置: 首页 > 综合 > 正文

程序写法

2018年01月31日 ⁄ 综合 ⁄ 共 449字 ⁄ 字号 评论关闭

通过实际测试,把复杂的函数分成几个子函数写运行速度会快一点,例如

在某个函数内部需要交换两个数,写成

temp=a;

a=b;

b=temp;

不如写成

swap(a,b);

在外面定义swap函数,这样既方便,效率又高。

 

为什么调用swap函数效率高呢?

        其实也只是稍微高那么一点点,运行千万次也就快及毫秒,但是最主要是将函数模块化,加大了函数的重用率,使精力能够集中在主函数的逻辑上,这就是面向对象的好处之一吧。其速度快显然是因为编译器会将短小的swap函数声明为inline,所以加快了一点点速度。我们在定义swap函数时,也可以显式地将swap定义为inline函数:

C语言的写法:

inline void swap(int *a, int *b)

{ int temp=*a;

  *a=*b;

  *b=temp;

}

调用方法swap(&a, &b);

C++写法(用引用)

inline void swap(int &a, int &b)

{ int temp;

  temp=a;

  a=b;

  b=temp;

}

调用方法swap(a, b);

 

抱歉!评论已关闭.