- 博客(5)
- 收藏
- 关注
原创 CComPtr和CComQIPtr
CComPtr和CComQIPtr对于操作原始的接口指针是比较麻烦的,需要我们自己控制引用记数、API 调用、异常处理。于是 ATL 提供了2个智能指针的模板包装类,CComPtr,这两个类都在 中声明。CComQIPtr的所有功能,因此我们可以完全用 CComQIPtr 由于使用了运算符的重载功能,它会自动帮我们调用QueryInterface()函数,因此 CComQIPtr<> 唯一的
2009-10-20 14:35:00 614
原创 规则DLL和扩展DLL的区别
MFC规则DLL 包含一个继承自CWinApp的类,但其无消息循环;MFC扩展DLL采用MFC的动态链接版本创建,它只能被用MFC类库所编写的应用程序所调用。 MFC规则DLL的概念体现在两方面: (1) 它是MFC的 “是MFC的”意味着可以在这种DLL的内部使用MFC; (2) 它是规则的 “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽然可以使用MFC,
2009-10-19 16:12:00 2476 1
原创 C++程序员经常问的问题
要点9、优化成员的排列 一个类的大小可以被下面的方式改变: struct A{ bool a; int b; bool c;}; //sizeof (A) == 12 100011111000 在我的电脑上sizeof (A) 等于12。这个结果可能会让你吃惊,因为A的成员总数是6个字节:1+4+1个字节。那另6字节是哪儿来的?编译器在每个bool成员后面都插
2009-10-19 15:28:00 540
原创 深入浅出Visual C++动态链接库(Dll)编程
http://soft.yesky.com/lesson/318/2166818.shtml天极网的
2009-10-19 12:01:00 456
原创 智能指针和容器的问题
当你拷贝一个auto_ptr,被auto_ptr所指的对象的所有权已经转移到了新的auto_ptr中去了,原有的auto_ptr被设置为NULL。 实质就是:拷贝一个auto_ptr,将会改变auto_ptr本身的值。 stl的容器中有很多需要拷贝元素的操作,如排序、查找等,这些操作都会改变auto_ptr的值,这绝对不是你所希望的 Effective c++中就建议不要在容器
2009-10-19 11:08:00 810
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人