organic

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  66 随笔 :: 0 文章 :: 12 评论 :: 15万 阅读

05 2015 档案

摘要:本文示例代码采用的是c语言。之前介绍过数据驱动编程《什么是数据驱动编程》。里面介绍了一个简单的数据驱动手法。今天更进一步,介绍一个稍微复杂,更加实用的一点手法——表驱动法。关于表驱动法,在《unix编程艺术》中有提到,更详细的描述可以看一下《代码大全》,有一章专门进行描述(大概是第八章)。简单的表驱... 阅读全文
posted @ 2015-05-23 11:19 organic 阅读(778) 评论(0) 推荐(0) 编辑

摘要:上回《大话设计模式C++版——简单工厂模式》中指出了简单工厂模式的缺陷,即违背了开发—封闭原则,其主要原因是由于switch的判断结构的使用,使修改或添加新的对象时需要改动简单工厂类的代码,如何改造switch结构,表驱动法就可以粉墨登场了。表驱动法的介绍见《数据驱动编程之表驱动法》。1、面向接口编... 阅读全文
posted @ 2015-05-23 10:38 organic 阅读(556) 评论(0) 推荐(0) 编辑

摘要:简单工厂模式应该是所有设计模式中最简单,也最基础的一种模式,以下是一个简单的采用工厂模式写一个加减法的计算器。1、抽象接口类——依赖倒转原则(高层和底层都要依赖于抽象,针对接口编程)class IOperation{public: IOperation() : m_nNuml(0), m_nNumr... 阅读全文
posted @ 2015-05-23 09:06 organic 阅读(257) 评论(0) 推荐(0) 编辑

摘要:1、选择类F8当前位置变成选定区域的头/尾(再移动光标或者点鼠标就会选定)Ctrl + F8当前行变成选定区域的头/尾(再移动上下光标或者点鼠标就会选定多行)CTRL + W选择当前单词Ctrl + Shift + ←选定当前位置到前一个单词Ctrl + Shift + →选定当前位置到后一个单词S... 阅读全文
posted @ 2015-05-18 14:52 organic 阅读(365) 评论(1) 推荐(0) 编辑

摘要:1、Codeint Work(){ while (m_lInterlockedData < 10) { InterlockedIncrement(&m_lInterlockedData); Sleep(100); } printf("CInterlocked::Work end\n"); ... 阅读全文
posted @ 2015-05-16 00:52 organic 阅读(232) 评论(0) 推荐(0) 编辑

摘要:继承类研究1、Code1.1 Cbase, CTEST为基类,CTest2为其继承类,并重新申明了基类中的同名变量class CBase{public: int Data; CBase(); ~CBase();};class CTEST{ ... 阅读全文
posted @ 2015-05-16 00:44 organic 阅读(326) 评论(0) 推荐(0) 编辑

摘要:一、原码分析1.1 测试代码 为了方便查看拷贝构造函数调用过程,自定义了拷贝构造函数,但啥也没干。class CTEST{public: int m_nData; //Method:public: CTEST() ... 阅读全文
posted @ 2015-05-16 00:32 organic 阅读(1035) 评论(0) 推荐(0) 编辑

摘要:源自一道面试题,觉得很有意思class CBase{public: virtual void PrintData(int nData = 111);};void CBase::PrintData(int nData /* = 111 */){ ... 阅读全文
posted @ 2015-05-16 00:22 organic 阅读(909) 评论(0) 推荐(0) 编辑

摘要:先看测试代码,CTEST继承自CBase,并包含一个CMember成员对象:static int nIndex = 1;class CMember{public: CMember() { printf("%d CM... 阅读全文
posted @ 2015-05-16 00:19 organic 阅读(433) 评论(0) 推荐(0) 编辑

摘要:智能指针是为了解决程序员创建了资源而忘记释放造成内存泄漏的问题,可减少代码编写过程中的代码长度,减少程序员对资源管理的难度,因而在COM组件及各类插件中有广泛应用。1、智能指针的原理智能指针的原理是利用对象在离开作用域时会调用对象的析构函数,将资源指针封装进类中,并将资源指针的释放过程写入析构函数... 阅读全文
posted @ 2015-05-15 23:56 organic 阅读(391) 评论(0) 推荐(0) 编辑

摘要:在编写组件程序时,经常会使用CoCreateInstance直接取COM组件的接口,非常方便,那CoCreateInstance到底干了些什么事呢?1、CoCreateInstance取COM组件的接口的基本流程//参数:rclsid = 组件CLSID//参数:riid = 接口IDWINOLEA... 阅读全文
posted @ 2015-05-15 23:49 organic 阅读(541) 评论(0) 推荐(0) 编辑

摘要:网上搭建环境见http://blog.csdn.net/xoyojank/article/details/8142630,安装网上搭建环境一般会出现文件下载错误,是由于一些文件在外网,容易被墙,需要有VPN支持,经过摸索可采用如下方式搭建。1 下载安装goagent(fang qiang),网上教... 阅读全文
posted @ 2015-05-15 23:38 organic 阅读(36) 评论(0) 推荐(0) 编辑

摘要:最近写了个NPAPI的插件,在chrome上用得好好的,结果在火狐上死活不认我的插件,找了N多资料最后在官方的说明里才找到说火狐浏览器的插件的文件名必须是以np开头的,立刻吐血三升,难怪被chrome抛弃。 阅读全文
posted @ 2015-05-15 23:37 organic 阅读(175) 评论(0) 推荐(0) 编辑

摘要:大家都知道在chrome中查看浏览器支持插件是在地址栏输入chrome://plugins即可,但搜狗浏览器虽然是基于chromium内核的,但用此方法却不行。但可按F12调出控制台面板,然后输入navigator.plugins,是在地址栏只要是chromium内核的浏览器都可使用这种方法。 ... 阅读全文
posted @ 2015-05-15 23:35 organic 阅读(684) 评论(0) 推荐(0) 编辑

摘要:由于网页及浏览器的各种限制,很多事情我们通过js等编码并不能达到我们想要的目的,我们需要调起本地执行程序来帮助我们做一些更强大的事情,这时候问题来了,如何才能调起我们本地程序?下面列出目前可用的几种方法及其缺陷(主要以IE和Chrome浏览器为例)。1、使用网页控件1.1 IE浏览器1.1.1 ... 阅读全文
posted @ 2015-05-15 23:28 organic 阅读(972) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示