您的位置:首页 > 编程语言 > C语言/C++

C++编码过程中不得不注意的几个方面

2011-05-09 10:39 267 查看
1.指针的使用。

使用指针之前一定要做判断if(NULL != point);

一定要做内存申请失败判断

void * p = new Class;

if(NULL == p)

{

...

}

内存销毁后,一定要将指针赋空值

delete point;

point = NULL;

2.文件的使用。

打开文件后一定要记得关闭文件,需要注意的是,这与文件打开方式是Write还是Read无关,都得严格按照要求打开/关闭文件。

3.线程锁的使用。

需要要强调的是,在Lock和Unlock区域内不应该有函数调用,这是比较隐秘的BUG滋生地,举例说明一下

CLock myLock;

void f1()

{

...

myLock.Lock();

...

f2();

...

myLock.UnLock();

...

}

void f2()

{

...

f3();

...

}

void f3()

{

...

fn();

...

}

void fn()

{

...

myLock.Lock();

...

myLock.Unlock();

}

在例子中我在fn()函数里面使用了myLock,而不是在f2函数中,往往就是这样,在你编写f1函数的时候,f2函数是可以预测的,你可以确保f2函数里面不会调用myLock.Lock()方法,但是,随着时间的推移,程序的不断更新,人员的更替,我们还能确保其他f2调用的其他函数里面不会使用myLock吗?

最简单的做法是Lock()与Unlock()之间不调用其他函数。

4.句柄的使用

Windows编程经常会使用到各种句柄(HANDLE),使用API函数生成一个句柄后,一定要记得关闭该句柄(CloseHandle)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: