正在阅读:高质量C++编程点滴(二)高质量C++编程点滴(二)

2004-07-05 09:55 出处:CSDN 作者:fireseed 责任编辑:linjixiong

  合理:


struct POINT3

{

       float x, y, z;

};

void foo( POINT3 *pPoints, int nCount )

{

       POINT3 Pt = { 1.0f, 2.0f, 3.0f };

       for ( int i = 0; i < nCount; i++ )

       {

              pPoints[i] = Pt;

       }

}

  解析:

  有两点,一,不要使用_msize对数组的大小进行测定,_msize只能对使用malloc或calloc申请的内存进行大小测定,对于其它的如new或一些API,将会导致程序的崩溃。在设计此类需要传入数组的函数时,别忘了把数组的元素数量也做为参数一并传入,哪怕它是固定的,这将是一个良好的习惯。二,对于float[3]这种类型,尽量避免直接使用它,最好的办法就是用struct对其进行简单的封装,在复制的时候直接使用“=”就可以进行准确的按位赋值了。

  四、你有一个函数的定义,在这个函数中会new一个比较大的对象Data,并在计算后将它删除。但这个函数将被频繁调用。

  不合理:


void foo( void )

{

       Data *p = new Data;

 


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品