2012年8月30日
摘要: 今天在复习资料的时候接触到了PIMPL模式,觉得有点陌生,遂对其进行了一点点研究。以下是个人的理解,可能会有比较片面的地方。PIMPL(Private Implementation),是由Herb Sutter介绍的一种C++编程惯用法,这种方法通过一个私有的成员pimpl指针,将指针所指向的类的内部实现数据进行隐藏。这样做的意义在于: 1.降低了不同类之间的耦合,因为隐藏了类的实现,被隐藏的类就相对于原类不可见,所以隐藏类进行修改,不需要重新编译原类。 2.由于减少了编译的代码量,只进行部分编译,直接导致了编译速度的提高。 3.不可见的类的内部实现,通过指针封装,使接口的稳定性得到保证... 阅读全文
posted @ 2012-08-30 23:47 二白 阅读(292) 评论(0) 推荐(0) 编辑
  2012年8月29日
摘要: 在CTabCtrl控件中插入CListCtrl控件有两种做法:方法1: 在CTabCtrl控件的每一页中加入一个对话框资源,并在对话框中加入CListCtrl资源。这种方法适合于每一页都是多控件的情况,需要注意的是对话框响应OnSize的时候其中的控件的变动由对话框自己实现,而不是由CTabCtrl控件来实现。方法2: 在CTabCtrl控件的每一页直接加入一个CListCtrl,让CListCtrl直接填充Tab控件或者根据Tab控件的大小改变。方法2的代码实现(环境是VC++6.0).cpp文件中将表格加入Tab控件,OnSize响应处理控件大小的变化testTabControlDlg.. 阅读全文
posted @ 2012-08-29 01:13 二白 阅读(761) 评论(0) 推荐(0) 编辑
  2012年8月20日
摘要: C语言标准库函数char类型数组相关的函数 1.获取字符串长度 strlen(char*) 2.比较 strcmp(s1,s2)把s1和s2进行比较 strncmp(s1,s2,n)把s1和s2的前n个字符进行比较 3.追加 strcat(s1,s2)把s2追加到s1之后并加上'\0' strncat(s1,s2,n)把s2的前n个字符追加到s1末尾,但是不在之后加'\0' 4.替换 strcpy(s1,s2)将s2(包括了结尾的'\0')赋值给s1,注意s1的长度比较大于或等于s2以便足够容纳s2 strncpy(s1,s2,n)将s2的前n. 阅读全文
posted @ 2012-08-20 23:28 二白 阅读(94) 评论(0) 推荐(0) 编辑