随笔分类 -  C++

摘要:转载请注明出处:http://www.cnblogs.com/fangkm/p/4401075.html 前言 插件一直是浏览器的重要组成部分,丰富浏览器的运行能力,实现一些HTML+JS实现不了本地应用(比如音视频、文件操作等)。早期广为熟知的是IE下的插件ActiveX,这是一项熟悉可能暴露年龄 阅读全文
posted @ 2017-03-27 19:56 孤竹君 阅读(40277) 评论(8) 推荐(3) 编辑
摘要:boost.foreach库使用起来非常方便,但实现的技巧可算是精彩绝伦。写基础库就应该如此,困难的永远留给自己,将光鲜的一面奉献出来。简单使用示例: std::vector<int>vecs;vecs.push_back(1);vecs.push_back(2);vecs.push_back(3);vecs.push_back(4);vecs.push_back(5);BOOST_FOREACH(intindex,vecs){_asmnop;}顺序遍历十分方便,但有时候想获取更多的信息(如:当前遍历的位置索引等),就不得不需要获取到当前的迭代器位置。观察foreach的内部实现, 阅读全文
posted @ 2012-11-27 10:07 孤竹君 阅读(2516) 评论(4) 推荐(2) 编辑
摘要:MFC框架由于古老,其与模板的结合比ATL/WTL差远了,其中一大原因就是因为宏的大量使用。最近封装MFC窗口类(CWnd)时,实在不想机械性地使用虚函数机制了,就想试试通过模板的手法实现代码的复用性。真的动起手来,其实发现也没那么麻烦。 阅读全文
posted @ 2010-11-14 11:43 孤竹君 阅读(748) 评论(0) 推荐(0) 编辑
摘要:在VC中加载Flash动画,一种很方便的方式就是在IDE的类向导生成一个IShockwaveFlash接口的包装类。但小弟十分不喜欢VC的可视化向导,几乎很少用,总是喜欢直接拿代码说话。 下面写段播放Flash的简单代码: 阅读全文
posted @ 2010-10-16 01:18 孤竹君 阅读(4172) 评论(1) 推荐(0) 编辑
摘要:一般Windows下的系统文件(夹)只让受限帐户读取而不让写入和修改。如果要开启写操作权限就需要手动修改文件(夹)的用户帐户安全权限(这操作当然要在管理员帐户下执行). 阅读全文
posted @ 2010-05-06 09:04 孤竹君 阅读(996) 评论(0) 推荐(0) 编辑
摘要:每次分配内存系统都会分配一个内存序列标志,通过_CrtIsMemoryBlock函数可以获取这个序列标志值以及分配的文件名和行号位置 阅读全文
posted @ 2010-03-23 15:48 孤竹君 阅读(4706) 评论(0) 推荐(0) 编辑
摘要:以前没重载过操作符new和delete,最近由于项目需要,写了个试试.本以为手到擒来,没想到还遇到不少问题. 阅读全文
posted @ 2009-12-29 19:25 孤竹君 阅读(651) 评论(2) 推荐(0) 编辑
摘要:先上一段代码: [代码]此代码利用宏创建了CMacroDeriveFromBase1、CMacroDeriveFromBase2、CMacroDeriveFromBase3三个类,这3个类的结构是一样的。从某种意义上说,此时宏方便了我们编码,但是调试时的确不直观了.下面用模板的tag手法重构一下: [代码]tag手法可以看作trait手法的一种简化,目的在于产生不同的类型. 阅读全文
posted @ 2009-08-11 11:29 孤竹君 阅读(262) 评论(0) 推荐(0) 编辑
摘要:每次分配、重新分配或释放内存时都会调用分配挂钩函数,这个挂钩函数可以通过_CrtSetAllocHook函数来设置. 阅读全文
posted @ 2009-07-03 11:25 孤竹君 阅读(1768) 评论(1) 推荐(0) 编辑
摘要:在MFC开发环境中,当运行退出了,Visual Studio会在输出窗口提示是否有内存泄漏。也可以借助MFC类CMemoryState动态地检测并输出内存泄漏信息. 在非MFC框架中,需要借助CRT函数实现这些功能. 阅读全文
posted @ 2009-07-02 19:06 孤竹君 阅读(556) 评论(0) 推荐(0) 编辑
摘要:Windows API经常需要回调函数,而在C++开发中面向对象当行其道,若能让C++类的成员函数成为回调函数,简直就是大善! 阅读全文
posted @ 2009-05-25 11:04 孤竹君 阅读(2644) 评论(3) 推荐(0) 编辑
摘要:__FILE__和__LINE__对于我们调试程序非常有用,__FILE__定义为字符串表示,__LINE__定义为数字表示,编写一函数封装一下,用%s和%d格式化为字符串是相当地简单,但是如果定义一个宏来表示就有点麻烦了.借鉴《Windows核心编程》里的例子,先来一实验:#pragma message(__FILE__"("#__LINE__"):字符串!")可惜编译不过,编译器不接受"#"符... 阅读全文
posted @ 2009-05-18 17:33 孤竹君 阅读(562) 评论(0) 推荐(0) 编辑
摘要:最近翻看《深入解析ATL》一书,了解了一种叫做接口着色的技术,很是好奇。但到百度上一搜,一篇相关的文章都没看到,没办法只有自己写个Demo实验一下,居然还真有那会事,呵呵。 阅读全文
posted @ 2009-05-04 11:17 孤竹君 阅读(463) 评论(2) 推荐(0) 编辑
摘要:在C++中,类的拷贝主要是通过拷贝构造函数和赋值函数,再者就是为拷贝专门实现的成员方法.由于拷贝构造函数和赋值函数在用户为提供的情况下是由C++编译器自动生成的,而且是public成员,因此默认的C++类都有拷贝功能.若让一个C++类不能被拷贝,可显式地声明类的拷贝构造函数和赋值函数为私有函数,从而达到该类不可被拷贝的目的. 阅读全文
posted @ 2009-04-25 16:41 孤竹君 阅读(393) 评论(1) 推荐(0) 编辑
摘要:C#和Java都提供了一种机制让一个类不能被继承,如C#中的sealed关键字和Java的final关键字,然而C++程序员就没这么好命了.不过C++也可以模拟出这种效果,原理基于:子类的构造函数会自动调用父类的构造函数,同理析构函数也是一样.如果父类的构造函数和析构函数被设为私有的话,那么子类就无法调用,也就达到了父类不可被继承的目的了。 阅读全文
posted @ 2009-04-23 15:00 孤竹君 阅读(371) 评论(0) 推荐(0) 编辑