C++是c的优化

原创 2004年08月05日 22:13:00

1.c++中我们提倡使用const char * const authorName = "Scott Meyers";这样的方式,对于指针我们要使指针本身常量化,也要使指针所指的变量常量化。这就是上面这样做的原因。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

2.对于define所造成的混乱:

#define max(a,b) ((a) > (b) ? (a) : (b))

int a = 5, b = 0;

max(++a, b);// a 的值增加了2

max(++a, b+10); // a 的值只增加了1

内联函数解决了这个问题:

template<class T>

inline const T& max(const T& a, const T& b)

{ return a > b ? a : b; }

 

3. string *stringarray1 =static_cast<string*>(malloc(10 * sizeof(string)));

string *stringarray2 = new string[10];

其结果是,stringarray1确实指向的是可以容纳10string对象的足够空间,但内存里并没有创建这些对象。而且,如果你不从这种晦涩的语法怪圈(详见条款m4m8的描述)里跳出来的话,你没有办法来初始化数组里的对象。换句话说,stringarray1其实一点用也没有。相反,stringarray2指向的是一个包含10个完全构造好的string对象的数组,每个对象可以在任何读取string的操作里安全使用。

newdeletemallocfree混在一起用也是个坏想法。对一个用new获取来的指针调用free,或者对一个用malloc获取来的指针调用delete,其后果是不可预测的。大家都知道不可预测的意思:它可能在开发阶段工作良好,在测试阶段工作良好,但也可能会最后在你最重要的客户的脸上爆炸。

如果你调用new时用了[],调用delete时也要用[]。如果调用new时没有用[],那调用delete时也不要用[]

用DELPHI为ASP开发文件上载组件

 用DELPHI为ASP开发文件上载组件 深圳王发军  返回 ASP(Active Server Page)是微软公司的产品,由于它编程很容易上手,能快速开发功能强大的动态网站,现在很多网站(特别是I...
  • ghj1976
  • ghj1976
  • 2001-04-17 16:06:00
  • 1765

C/C++代码优化方案

目录1、选择合适的算法和数据结构 3 2、使用尽量小的数据类型 3 3、减少运算的强度 3 (1)查表 3 (2)求余运算 4 (3)平方运算 4 (4)用移位实现乘除法运...
  • jinzhichaoshuiping
  • jinzhichaoshuiping
  • 2016-11-29 21:34:56
  • 1652

C/C++代码优化的27个建议

本文由 伯乐在线 - 周昌鸿 翻译自 cs.clemson.edu。欢迎加入技术翻译小组。转载请参见文章末尾处的要求。 1. 记住阿姆达尔定律: funccost是函数func运行时间百分比...
  • wind19
  • wind19
  • 2014-05-26 10:09:49
  • 1403

c/c++编译优化——读书笔记

2007-11-28    文章介绍了几本书可以做C/C++语言的学习:1、Advanced C: Techniques and Applications, Gerald E. Sobelman an...
  • xukangping
  • xukangping
  • 2008-01-27 17:30:00
  • 907

C/C++程序缺陷与优化

  • 2016年09月21日 12:28
  • 94.61MB
  • 下载

[C\C++]读入优化【技巧】

int read(){ int x=0; char ch=getchar(); while (ch'9') ch=getchar(); while (ch>='0'...
  • qq_33583069
  • qq_33583069
  • 2016-04-12 19:27:13
  • 2721

uExcel文件

uExcel文件如下://////////////////////////////////////////////////////////////////             Excel控制类,封...
  • yuhongwei
  • yuhongwei
  • 2006-11-19 18:32:00
  • 881

c/c++性能优化--I/O优化(上)

这节本想直接介绍I/O优化的,后来思考一下有必要对常用的I/O操作函数的特点介绍一下,这样要好些。下面就先介绍和I/O有关的库函数(以C99为准) 不同的操作系统有不同的文件管理方式,现行的主要有FA...
  • wangjiaoyu250
  • wangjiaoyu250
  • 2013-07-14 22:52:46
  • 3208

C/C++语言执行效率的优化方法(待续)

个人总结,也可能和编译器与环境有关,没有绝对!下边以linux系统、AT&T指令集、GCC编译器为编译运行环境。 1.循环条件和下标的设立,尽量迁就下标操作,下标有加法的话,会增加计算偏移量...
  • huqinweI987
  • huqinweI987
  • 2016-03-13 13:40:17
  • 1042

内存优化的那些事【C/C++】

1.避免没有必要的缺页中断 用new或者malloc申请内存时,系统并不会立刻分配相应内存,而是在实际使用时才这片内存时才分配。所以为了避免没有必要的缺页中断,可以在申请内存后,立刻初始化一遍内存,避...
  • b2222505
  • b2222505
  • 2017-10-08 15:42:32
  • 300
收藏助手
不良信息举报
您举报文章:C++是c的优化
举报原因:
原因补充:

(最多只允许输入30个字)