自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 【笔记】Python迭代对象

傻逼的CSDN!

2014-12-07 18:09:05 921

转载 ACE中的设计模式,入门

最近在整理以前所看文章内容时,发现了几篇2003年程序员合订本里关于 ACE的文章,当年这几篇文章中所谈到的内容就让人非常兴奋,因为在那个国内热火朝天学习设计模式的几年里,这几篇文章因为其内容涉及到了bridge, strategy, adapter, facade等模式在这个网络通信框架中实打实的应用,让我切身体会到了面向对象设计模式的强大火力。同时因为这几篇文章绝不是我

2014-09-14 14:30:46 698

原创 C++指向类的方法的指针与命令模式

#include #include using namespace std;void sar(){}static void rar(){}class Foo{public:typedef void (Foo::*ACTION)();  // Foo空间内指向Foo成员的函数指针类型,可以指foo    typedef void (*AC2)();

2014-09-04 00:35:33 786

原创 const

const与指针void foo(){ char sz[] = "Hello World"; char *psz = sz; char *const cpsz = sz; const char *pcsz = sz; const char * const cpcsz = sz; psz[0] = 'J'; // ok// cpsz++;

2014-01-04 11:23:44 630

原创 随机密码

#include #include #include #define CHAR_SMALL_CASE 0#define CHAR_UPPER_CASE 1#define CHAR_DIGIT 2#define CHAR_SPECIAL 3const char c_small_case[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'

2013-07-20 12:19:53 655

原创 一道面试题

#include using namespace std;class Base{public: Base() { cout << "100" << endl; } virtual ~Base() { cout << "110" << endl; }};class Derived_A : public Base{public: Derived_A() { cout << "

2013-03-28 14:42:07 827

原创 用二级指针实现单链表插入操作

假如要在A之前插入一个节点D,那么只需修改1st和5th的值即可。对链表的插入删除的操作其实就是对“橙黄色的变量“里的值得修改,为了顺序访问”橙黄色的变量“,定义一个变量p来遍历他们(橙黄色变量是node*类型,那么p就是node**类型)。// 一般1st这个变量我们会取名叫head,那么p的初始化式就是node ** p = &head;// 遍历操作就是while(p){

2013-03-22 14:38:57 2036

原创 可重入与线程安全(Reentrancy and Thread-Safety)

转自Qt Assistant : Reentrancy and Thread-SafetyThroughout the documentation, the terms reentrant and thread-safe are used to mark classes and functions to indicate how they can be used in multithread

2013-03-21 16:39:28 1583

原创 一个简单的哈希表的实现

//////////////////////////// 用连地址表示的哈希表//////////////////////////#include using namespace std;template class Node{public: Node(T val = 0) : key(val), next(NULL), val(88) { // 为什么这里的赋值通过of

2013-03-19 15:20:27 1571 1

原创 用二级指针删除单链表的一个节点

一般删除方法:node *remove_if(node *head, remove_fn rm){ node *cur = head, *prev = NULL; while(cur) { node *next = cur->next; if( rm(cur) ) { if(prev)

2013-03-15 15:09:51 977

转载 系统引导与启动顺序

转载自:http://www.chinaz.com/server/2007/0828/15133.shtml全世界linuxer都知道grub是什么东西,但对于MBR引导到grub再引导到具体操作系统的这个流程可能有不少朋友就比较迷糊了。这不,cu上一位朋友就发出了这样一个求助贴:假如现在一台电脑上装了WIN2000系统,那么我现在在装上LINUX系统和GRUB,那么假如把GRUB装在主分

2013-01-24 10:04:39 1500

原创 补码

问:补码中谁跟谁互补?补和模的概念息息相关,首先解释什么是互补。计算机中的两个数互补的意思:对于模M,a与(a + n x M)互补,例如对于M=12,1和13互补,2和14互补。而非1和11互补,2和10互补。(计算机跟几何中补角的概念不一样)给出16位,可以表示从0000到ffff,如下表:二进制无符号有符号000000000

2013-01-23 15:16:57 668

原创 printf 和 scanf

int printf(const char *format, ...);format包含:    -- ordinary char    -- conversion specificationconversion specification形式如下: %【flags】【width】【.precision】【h/l/L】conversion_char【有效的fla

2013-01-17 11:23:51 1004

原创 Windows下Tora连不上Oracle

来自官方解释:Important! Because of legal reasons TOra comes with a stub oci.dll file which makes it possible to use TOra with non Oracle databases even when Oracle client is not installed. If you need to

2013-01-09 14:39:49 1042

原创 Qt Meta Object

在类中用Q_PROPERTY宏声明类的某个属性后,这个属性就具有了Meta-Object的特性了,如:class Person : public QWidget{ Q_OBJECT /* 声明Person类有一个QString类型属性name,此属性可以通过getName读取,通过setName设置 */ /* 这些信息是告知Meta-Object Syste

2013-01-08 20:55:03 639

原创 C语言中的常量和字面值

数据类型 和字面值 的关系:如果有语句int a = 1234;那么int就是数据类型,a是变量,1234是字面值。int的字面值也就是可以用来初始化int类型变量的东西(不要说用其他变量也可以初始化哦!)。同样,char的字面值当然是机器的ASCII字符集了,分为可见的和不可见的字符,表示方法有两种,见下面程序。常量(constant)可以理解为所谓的字面值,常量和用const修

2012-12-11 21:38:23 3231

原创 工厂模式

最初的解决方案:class PizzaStore{public: Pizza *orderPizza(string type){ Pizza *pizza;/* comment_1:由于要不断有新的类型的pizza产生,这段代码要经常修改 */ if (type == aaa) { pizza = new aaa; } else if (type == bbb)

2012-11-22 14:34:52 563

原创 对非递归中序遍历二叉树的理解记忆

给定一颗二叉树,肯定是从根开始访问。可以按照root---->left---->right的顺序进栈(Push),要是中序遍历,就得按照left---->root---->right的顺序出栈(Pop & Visit),所以总的顺序应该是Push(root)---->Push(left)---->Pop & Visit(left)---->Pop & Visit(root)--

2012-11-21 15:40:05 519

原创 c++中的类型转换

一 隐式转换:说明:cpp在计算表达式之前将表达式的操作数转换为统一类型1. bit数小于int的都转换为int,如果int不够会转换为unsigned int(32位系统short都是16bit的,int32bit,所以此情况不发生);2. int向long转换同上,如果long不够宽,转换成unsigned long;3. unsigned int和int一起都会被转为unsi

2012-11-21 11:32:37 635

原创 分段与分页,LDT与GDT

一个进程的地址空间,从用户的角度看,是由若干的段(segment)组成的,这些段可以分为两种:私有段(private)、共享段(shared)。cpu也是按照用户的逻辑进行内存管理的(分段),Intel Pentium规定了每种段最多有8K个,每个segment最大4G。一个cpu对应有一个GDT(global descriptor table),该表详细描述了shared segment,这

2012-11-20 21:01:19 3225

转载 C/C++ 语言中的表达式求值

裘宗燕:C/C++ 语言中的表达式求值-----------------------------------------------------经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5:a = 4; co

2012-11-18 14:51:57 590

原创 语法小贴士

1. 在stddef.h中可以看到C/C++关于NULL符号的定义,如下:#ifndef NULL#ifdef __cplusplus#define NULL 0#else#define NULL ((void *)0)#endif#endif2. 每个命名空间是一个 作用域,但是可以在多个文件中定义,如下:/* namespace 由下面四个文件组成

2012-11-16 16:39:32 473

原创 你应该知道的C++常识

1. c++构造函数中可以抛出异常,但是应该保证在析构函数中正确区分已经构造和未构造的成员;2. c++析构函数中不应该抛出异常,会造成程序terminate,因为出现异常的时候首先会调用析构对象,此时如果在析构函数中又引发新的异常,将无法处理;3. catch中处理的类型必须是已经定义了类型,只声明的类型不行,catch的形参名可有可无;4. catch形参与异常类型严格匹配,但允许

2012-11-16 10:59:14 567

原创 MinGW和Cygwin的区别

MinGW是GNU提供的基于MSVCRT.DLL(Microsoft C Runtime Library,该文件提供标C函数如printf的实现)的win32程序开发工具集;Cygwin利用windows API重新实现了windows平台的GNU工具,如gdb等,并且提供一个库cygwin.dll,该库提供了基于win32API的posix函数的实现(如fork),这样在windows平台下开发

2012-09-22 19:48:08 648

mysql manual include ansi sql

Include full mysql & ansi sql

2013-06-08

用ASP写的报名系统

用ASP写的报名系统asp三层框架写得报名系统很实用一学就会很好

2011-10-02

wtl使用指南,深入剖析wtl

详细的wtl使用说明,深入剖析wtl,让你写出更简单的windows界面

2010-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除