摘要:
成员函数后面加const,表示在该函数中不能对类的数据成员进行改变,比如下面的代码: 1 #include 2 3 class A 4 { 5 private: 6 mutable int aa; 7 public: 8 A(){} 9 int x()10 {11 printf("no const\n");12 return aa++;13 }14 int x() const15 {16 printf("const\n");17 return aa++;18 }1... 阅读全文
posted @ 2013-10-29 23:41
stemon
阅读(4437)
评论(1)
推荐(1)
摘要:
这几天在看王艳平的《windows 程序设计》,第5章讲解了MFC框架是怎么管理窗口句柄到窗口实例之间的映射,用到了两个类CPlex和CMapPtrToPtr,用于管理内存分配的类(避免因为大量地、频繁地创建窗口对象导致内存碎片的产生)。CMapPtrToPtr类用到了关联结构体CAssoc,其中有好多对指针类型的转换,感觉对结构体了解不够。特别是成员的对齐方式,跟我猜测的完全不同,花了点时间搞清楚了。在跟朋友一起吃饭还有时间,就顺手写下来,供大家参考:首先明白几个概念:1、结构体成员的对齐字节数:可以是n=(1,2,4,8,16);VC编译器默认是8,可以打开工程设置->C/C++-& 阅读全文
posted @ 2013-10-29 09:45
stemon
阅读(738)
评论(0)
推荐(0)
摘要:
今天在网上看到了一篇写得非常好的文章,是有关c++类继承内存布局的。看了之后获益良多,现在转在我自己的博客里面,作为以后复习之用。——谈VC++对象模型(美)简.格雷程化 译译者前言一个C++程序员,想要进一步提升技术水平的话,应该多了解一些语言的语意细节。对于使用VC++的程序员来说,还应该了解一些VC++对于C++的诠释。 Inside the C++ Object Model虽然是一本好书,然而,书的篇幅多一些,又和具体的VC++关系小一些。因此,从篇幅和内容来看,译者认为本文是深入理解C++对象模型比较好的一个出发点。这篇文章以前看到时就觉得很好,旧文重读,感觉理解得更多一些了,于是产 阅读全文
posted @ 2013-10-29 00:12
stemon
阅读(735)
评论(0)
推荐(0)

浙公网安备 33010602011771号