高手必看:C、C++程序的优化之路C言语教程-C / C++-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝26
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:164回复:0

  高手必看:C、C++程序的优化之路C言语教程

楼主#
更多 发布于:2016-05-30 22:07

在高档言语中,程序的优化首要应当从数据结构、算法、操控流程等方面下手。各种言语各有它自身的特色,咱们只能根据详细的言语来说明代码优化的办法。当然,高档言语太多,不行能把每一种言语都拉进来,首要就谈谈C,C++,JAVE,Delphi等言语有关的

代码优化。而关于其它一些言语,也 能够从这些方面中找到合适自个的优化计划。

对C++程序的优化必定是大多数程序员最感兴趣的论题,在此先说说根据C,C++的代码优化,希望能起到抛砖引玉的效果。

1、在 ANSI/ISO

C/C++标准中清晰主张:“不要运用macro和。h,应当运用程序中的常量界说和 函数代替”。Macro(宏)对程序员来说的确带来过不少便利,可是

很多的宏界说通常又给咱们带来更多的费事。主张运用inline内连函数代替宏调用。内连函数又宏调用的功用,且防止了宏调用的坏处。

2、调集,子集类型是不被标准的 C++的目标结构式最复杂最灵敏的。在Borland的 C++

Builder中,就供给了源于Pascal的调集,这对咱们追求代码高功率的 开发者来说,是不行取的。

3、字符串处理是Pascal的强项之一。可是C++中的string/AnsiString等是用类/数模仿的,所以功能又很大丢失!主张运用C++Builder/Delphi的程序员尽量不运用AnsiString。

4、C++中的运算符new和delete相关于C中的malloc()和

free()函数更优越。它们尽管都供给了动态和释放分配内存的 办法,可是运用new和delete

能自动回来准确的指针类型不用进行强制指针变换。别的还能够防止一些过错。

5、过量的反常处理通常致使程序难于运用且功率低下。C++在一场处理方面存在必定的不足,C++Builder中对一场进行了必定的扩大,使程序的反常的捕获和处理更便利。所以很多程序员在写程序的时分明知道不会犯错的代码也要进行反常处理,这无异于弄巧成拙。

6、真确的运用循环。运用循环尽管简单,可是运用不当,通常也许带来很大的功能影响。原则是将疑问分为解小的循环,不在循环内做剩余的作业(如赋值,常量核算等),防止死循环。还能够思考将循环改为非循环来进步功率。

7、类的首要优点之一是它封装的特征。这个特征对类目标的运用着躲藏了内部的作业。这本是非常好的工作,但意外的是类的运用者通常不能断定类中各种办法怎么影响功能,这样就很简单调入功能的圈套中。比方:常用的MFC,VCL他们都是供给了丰厚的类库,咱们在运用的时分应当选择功率较高的类和调用功率高的办法函数。

8、尽量在类设计时削减虚函数的数目。函数地址在运行时进行滞后绑定,这关于面向目标的编程言语来说时适当主要的。C++不同于JAVA,smalltalk的是让程序开发者自个决定对那个函数进行滞后绑定。C++之所以这么做,使出于对功能方面的思考,特别是对多态性供给滞后绑定是要付出适当大的价值的。即使是只要一个虚函数得类,对他的每一个完成都需求一个虚函数表和一个指向它的指针。指向虚函数表的指针有必要在世现类实例实进行初始化。别的,每逢一个虚函数被调用时,有必要为函数在运行时进行的查找付出价值。

优质IT资源分享社区为你提供此文。

本站有大量优质C、C++教程视频,资料等资源,包含C,C++基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。

C、C++教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客