一种简便定义javascript命名空间的方法 这种方法需要引用jQuery的$.extend方法,因此先需要引用jQuery,版本无所谓,你可以将这个方法写在公用模块内源码: //ns 可以是一个字符串,也可是指定的对象//如果是第一次定义,必需是一个用.分隔的字符串,这个函数会创建对应的空间function DEF_NAME_SPACE(ns,op){ switch(typeof ns){ case
C++事件机制(上篇)-- Observer模式 C++事件机制(上篇)-- Observer模式 简介:本文通过上中下三篇文章来分析c++事件机制的各个方面,并实作出一个c++的事件库。 用过C#的朋友,一定对于C#的事件机制感觉很爽,来我们看一看一个C#的例子。class Test { public delegate void ClickHandle(int X,int Y);
让模板类支持可变模板参数 让模板类支持可变模板参数现如今才正真发现c++模板的强大,模板的强大在于不需要使用RTTI机制可以传递参数的类型信息,不过也有其遗憾的地方,就是对于引用和复制,模板并无法区分。例如templatestruct Test{typedef T Type;static void PrintTemplateTypeName(){ cout }}; 如
c++虚继承对象的内存布局 c++虚继承对象的内存布局 --VC7.1特别版网上关于c++对象布局的文章挺多,而且《深度探索c++对象模型》(Inside The C++ Object Model 侯捷 译)一书中也很详细地介绍。如果你一点都不了解C++对象的布局,我推荐你看看《深度探索c++对象模型》的第三章,如果你意犹未尽下面的两个系列都很不错:一是陈皓的《C++ 对象的内存布
c++模板元编程就是bullshit c++模板元编程就是bullshit 学完所谓的模板元编程,我觉得c++模板元编程就是一坨屎。你可以振振有词的说它可以简化计算时间。好,你除了提供那几个所谓经典的例子外还有什么其它什么用么?说是图灵完备,连个在编译期调用个函数都处理不了,如下例templatestruct SinVal{ enum { m_inner_val = (int)(sin( (float
c++中利用模板解决条件编译的问题 c++中利用模板解决条件编译的问题问题背景:唔,我正在写一个B+树,其中它的节点查找算法需要在不同的应用场景下采用不同的算法。我可以采用顺序查找和二分法查找两种方案,如果这个节点元素比较小时,用顺序查找的方案要快一些,当节点元素比较多时,则用二分法查找。第一方案:用if来解决我们会最容易想到的是templatestruct CBinaryTreeNode{
#pragma pack 与 sizeof #pragma pack 与 sizeof #pragma 是一个预处理指令,其中#pragma pack指令直接影响到一个结构体、联合体、类的内存布局。那么它是如何影响的,首先我们来看两个类#pargam pack(8)struct TEST1{ char v[9]; int x;}; struct TEST2{ char v[9];
Modern C++ Design 读书笔记一 一直以来都以为自已对于c++是很熟悉的,但是最近在看《Modern C++ Design》(中文名:C++设计新思维--范型编程与设计模式之应用)这本书时才发现自已对于C++实在是了解的太少了。 用法一:把模板参数当作基类首先来看一个很简单的类POINTstruct POINT{ int X; int Y; POINT(int x=0,int y=
B+树C++代码发布 B+树C++代码发布 代码:http://bluedog.download.csdn.net 没什么太多可以说的,B+树的c++模板实现,需要说明的一点是1、枝干节点的关键字在每个叶子节点的最后一个2、叶子节点中的Vals不是值集合,而是值指针集合,主要是减少移动时的拷贝时间 本来也想Keys也做也指针集合,但是会有一个问题,如果当做数据库的索引,它就必需调阅多
B-树的C++实现 发布一个B-树的代码 代码下载:http://bluedog.download.csdn.net B-树网上的代码很象不是很多,关于它的原理我觉得没有必要要谈了,书上网上太多了。这里我花了几天的时间写了一个,大家觉得有用的话就用吧,已经进行大量的测试,应该没有什么太大问题
C++类成员属性的一种简洁实现 C++类成员属性的一种简洁实现 一般来说对于标准C++而言是不存在成员属性这个概念的,以前大家都是用GetXXX/SetXXX来访问或取得数据,好象也没有感觉到任何不便。但是当我们用过C#之类的语言之后,我们总觉得C++这个方式太老土了。于是我们想去实现“属性”这个C++语言缺乏的要素。事实上网络上有很多人已经做了这部分工作,实现的方法有很多种,一种是用模
如何判断程序是否重复运行的几种方法 如何判断程序是否重复运行的几种方法 判断程序的实例是否已经启动,无非是通过设立某个标识,让下次启动程序时知道该实例已经运行。嗯,可是在WIN32中每个进程都有自已独立的空间,那么如何处理呢,下面提供两种方案:方案一,使用内核对象因为内核对象是可以跨进程存在的,因此我们可以通过创建一个命名互斥体(Mutex)内核对象来判断,当用同一个名字的来创建Mutex时,CreateMutex会
骗子不可怕,就怕骗子有文化 骗子不可怕,就怕骗子有文化 对于汉语编程我实在是不想说什么,看看代码大家就明白。下面给大家来一段强大的”汉语编程”,大家就会认识到所谓的汉语编程是什么东东了。 #include "汉语编程核心模块" 对象定义开始(测试对象)公有: 整型值;对象定义结束 主程序开始 整型变量; 测试对象测试对象变量; 字符目录串[256]
一个COM调用时出现的错误及解决办法 一个COM调用时出现的错误及解决办法这两天一直在用COM里的复合文档来做个东东。我通过C#的平台调用方法使用IStorage和IStream这些接口的,并写了一个流类来包装IStream。在“调试”模式下,运行得很好,但是在“Release”下,则报错了!症状为:在长时间读写一个复合文档时,开始是可以正常运行的,但是一段时间后,就会报错说“试图使用一个不存在的对象异常来自
2008年第一份源码 2008年第一份源码 代码下载地址:CSDN Download:http://download.csdn.net/source/351523官方地址:(下载方式见左边栏)GmailDriver:/Code/Csharp/ExpertLib/Console/ConsoleClassDemo.Rar雪停了,冰融了,太阳出来了,一切又恢复了正常。春节在家闲着也是闲着写了