2016年3月7日
摘要: 问题:stl中的vector容器常常造成删除假象,这对于c++程序员来说是极其讨厌的,《effective stl》大师已经将之列为第17条,使用交换技巧来修整过剩容量。内存空洞这个名词是网上的学者给出的,我觉得用来描述这个基本现象特别容易提醒自己vector删除的这个陷阱。 首先给出一段代码:35 阅读全文
posted @ 2016-03-07 15:38 凯枫几多 阅读(843) 评论(0) 推荐(0) 编辑
  2016年2月18日
摘要: 原文地址:VC++的窗口句柄和窗口ID作者:放放 句柄是窗口资源的标识,它标识资源在系统中所占用的内存块,应用程序通过窗口句柄对窗口进行操作。除了窗口句柄之外,任何一种资源都有它自己的句柄,比如光标句柄、位图句柄等。窗口ID是窗口在应用程序中的唯一标识,通过窗口ID可以获取窗口句柄。 ------- 阅读全文
posted @ 2016-02-18 15:13 凯枫几多 阅读(777) 评论(0) 推荐(0) 编辑
  2016年2月16日
摘要: 在开发CAD的插件时,创建一个图形区上的 模态对话框,其中设置了一个按钮触发效果是隐藏对话框,从而让用户在CAD图形区操作,操作结束后再显示回对话框。 一开始直接用ShowWindow(SW_HIDE),发现对话框隐藏后 ,焦点也不见了,无法在图形区显示鼠标 。 后来 将创建模态对话框改为 非模态对 阅读全文
posted @ 2016-02-16 16:14 凯枫几多 阅读(426) 评论(0) 推荐(0) 编辑
  2016年1月28日
摘要: 关于空指针NULL、野指针、通用指针,首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了。 假设 有语句 int a=10;那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存中的地址是 0x1000;那么内存0x1000单元中存放了数据10,每次我们访问a的 阅读全文
posted @ 2016-01-28 12:00 凯枫几多 阅读(7473) 评论(0) 推荐(5) 编辑
  2015年10月12日
摘要: http://ke.qq.com/webcourse/index.html#course_id=67888&term_id=100058920&taid=139345919019312&vid=y1401nupr7g 阅读全文
posted @ 2015-10-12 13:01 凯枫几多 阅读(153) 评论(0) 推荐(0) 编辑
  2015年10月9日
摘要: 在VS中用C#写了个类库,后面想转成静态库发现没有直接的方法,原来在C++中可以,而C#中不支持。但是有时候程序引用C#编写的动态库觉得用户体验不好太累赘,想要简单只发一个exe可执行程序给用户就好,该怎么解决?经过我研究,找到了如下的方法:(VS编译器)在VS中安装Nuget扩展打开要静态化的EX... 阅读全文
posted @ 2015-10-09 15:59 凯枫几多 阅读(4190) 评论(0) 推荐(0) 编辑
摘要: 什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a、.lib)和动态库(.so、.dll)。所谓静态、动态是指链... 阅读全文
posted @ 2015-10-09 15:16 凯枫几多 阅读(249) 评论(0) 推荐(0) 编辑
  2015年8月12日
摘要: 简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段 2.词法与语法分析阶段 3.编译阶段,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件 (.obj文件) 4.连接阶段,将... 阅读全文
posted @ 2015-08-12 22:52 凯枫几多 阅读(3000) 评论(0) 推荐(0) 编辑
  2015年8月3日
摘要: C#中get和SET,看来看去还是看不懂,通俗一点解释一下,用了有什么好处,不用会怎么样如果你这样写是没有什么不一样的.private int __Old;public int Old{get{return __Old;}set{__Old = value;}}但是如果你这样写就不一样了.priva... 阅读全文
posted @ 2015-08-03 09:56 凯枫几多 阅读(501) 评论(0) 推荐(0) 编辑
  2015年7月21日
摘要: 使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。在C++中,变量、函数和类都是大量存在的。如果没有命名空间,这些变量、函数、类的名称将都存在于全局命名空间中,会导致很多冲突。比如,如果我们在自己的程序中定义了一个函数toupper(),这将重写标准库中的toupper()函 数,这是因... 阅读全文
posted @ 2015-07-21 17:24 凯枫几多 阅读(418) 评论(0) 推荐(0) 编辑