| MFC中一个巧妙的利用构造函数特性的方法 |
|
| MFC - 其他 | ||
| 作者:Administrator | ||
| 周日, 20 7月 2008 09:38 | ||
|
构造函数在对象建立时调用,析构函数在对象销毁是被调用。它们之间肯定是成对的。这样,在你需要频繁执行成对的代码操作时,利用这个特性将特别的方便。MFC中CPaintDC就利用了这一点。 构造函数在对象建立时调用,析构函数在对象销毁是被调用。它们之间肯定是成对的。这样,在你需要频繁执行成对的代码操作时,利用这个特性将特别的方便。MFC中CPaintDC就利用了这一点。
在Windows操作中BeginPaint和EndPaint必须是成对出现的,把这样的两个成对操作,封装到类CPaintDC的构造函数和析构函数中,恰好利用C++的特性了。使用的方法如下:
要注意上面{ }的用法。加上一对额外的{ }可以使局部变量的析构函数调用时机得到控制,想在哪里析构就在哪里析构,这也是一个技巧。否则,要到整个函数结束时析构,时机有可能不是你预期的。 MFC用了这个技巧,我们自己应该怎样用了?太多了,只要是成对的操作就行,比如修改字体/还原字体(需要用成员变量保存一些数据),打开com口/关闭com口,之类。
|
||