wly603

2012年4月11日

设计模式----单例模式

摘要: 一、单例模式(SingleTon) 保证一个类只有一个实例,并提供一个访问它的全局方法二、程序示例单例类//单例模式package com;public class Singleton{ private static Singleton instance = null; //私有化的构造方法,不允许外部通过 new 来产生实例 private Singleton() { } public static Singleton getInstance() { if (instance == null) ... 阅读全文

posted @ 2012-04-11 19:21 wly603 阅读(170) 评论(0) 推荐(0) 编辑

设计模式-----抽象工厂模式

摘要: 参考:http://blog.csdn.net/ipqxiang/article/details/1955677 程杰《大话设计模式》清华大学出版社一、抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。二、四个重要角色(类) 抽象工厂、具体工厂、抽象产品、具体产品三、程序示例抽象工厂接口//抽象工厂模式package com;//抽象工厂接口:包括2个product: IUser IDepartmentpublic interface IFactory { IUser createUser(); IDepartment createDepartme... 阅读全文

posted @ 2012-04-11 19:14 wly603 阅读(255) 评论(0) 推荐(0) 编辑

ubuntu下eclipse输入不流畅

摘要: 环境:ubuntu8.04.4 eclipse-jee-indigo-SR2下载使用了scim中文输入法1、问题描述 在eclipse中编程时,出现打一个字符串后,就不能再输入了。当点击保存工程后,又能继续输入。2、解决办法: a、修改scim配置 sudo gedit /etc/X11/xinit/xinput.d/scim 将xim修改为scim,即为GTK_IM_MODULE=scim b、再次设置系统默认的输入法为scim sudo update-alternatives --install /etc/X11/xinit/xinput.d/all_ALL xinput-all_ALL. 阅读全文

posted @ 2012-04-11 14:45 wly603 阅读(260) 评论(0) 推荐(0) 编辑

c语言静态变量和静态函数

摘要: static C语言 C语言程序可以看成由一系列外部对象构成,这些外部对象可能是变量或函数。而内部变量是指定义在函数内部的函数参数及变量。外部变量定义在函数之外,因此可以在许多函数中使用。由于C语言不允许在一个函数中定义其它函数,因此函数本身只能是“外部的”。 由于C语言代码是以文件为单位来组织的,在一个源程序所有源文件中,一个外部变量或函数只能在某个文件中定义一次,而其它文件可以通过extern声明来访问它(定义外部变量或函数的源文件中也可以包含对该外部变量的extern声明)。 而static则可以限定变量或函数为静态存储。如果用static限定外部变量与函数,则可以将该对象的作用域限定为 阅读全文

posted @ 2012-04-11 11:50 wly603 阅读(21664) 评论(2) 推荐(0) 编辑

c++中记录程序运行时间的函数

摘要: 在C++的库函数中,我们可以使用clock()来计算程序的运行时间,主要使用一下三个函数类型及函数:1、clock_t:数据类型,其实,当你打开time.h就知道了,就是个long型,用来记录一段时间内的clocks数,即CPU的运行单元时间;2、clock():返回类型clock_t,返回的是从程序开始,到你调用clock()函数这段时间的clocks;3、CLOCKS_PER_SEC:它用来表示一秒钟会有多少个时钟计时单元,即: #define CLOCKS_PER_SEC ((clock_t)1000) 可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1。下面举个例子 阅读全文

posted @ 2012-04-11 11:49 wly603 阅读(3253) 评论(0) 推荐(0) 编辑

从STL中的list删除元素

摘要: 主要是注意删除末尾的元素时,需要注意测试代码#include <iostream>#include <list>#include <algorithm>using namespace std;int main(int argc, char* argv[]){ list<int> MyList; for (int i = 0; i < 10; i++) { MyList.push_back(i); } list<int>::iterator Itor; for ( Itor = MyList.begin(); Itor ... 阅读全文

posted @ 2012-04-11 10:45 wly603 阅读(238) 评论(0) 推荐(0) 编辑

从一道面试题看深拷贝、浅拷贝构造函数问题

摘要: 《程序员面试宝典》P99请看下面的程序,说说会出现什么问题?View Code #include <iostream>#include <cstdlib>#include <vector> using namespace std; class CDemo { public: CDemo():str(NULL){}; ~CDemo() { if(str) delete[] str; }; char* str; }; int main(int argc, char** argv) { C... 阅读全文

posted @ 2012-04-11 10:43 wly603 阅读(1209) 评论(0) 推荐(0) 编辑

用一个宏定义FIND求一个结构体CTYPE里某个变量CNUM相对了CTYPE的编移量

摘要: 用一个宏定义FIND求一个结构体CTYPE里某个变量CNUM相对了CTYPE的编移量。如:stuct student { int a; char b[20]; double ccc; }则:FIND(student,a); //等于0FIND(student,b);//等于4#define FIND( struc, e ) (size_t)&(((struc*)0)- >e)(struc*)0----------表示将常量0强制转化为struc *型指针所指向的地址&(((struc*)0)- >e)--表示取结构体指针(struc*)0的成员e的地址,因为该结构体 阅读全文

posted @ 2012-04-11 10:38 wly603 阅读(249) 评论(0) 推荐(0) 编辑

C模拟实现C++的多态

摘要: 用c语言中的结构体模拟类,用函数指针模拟虚函数表。整个程序用于模拟C++中的多态性,即用基类访问派生类的函数。View Code // c语言模拟多态性#include "stdio.h"#include "stdlib.h"enum ShapeType{CIRCLE,SQUARE,RECTANGLE};//形状类型//建立虚函数表,2个虚函数typedef struct { void (*ShowShape)(); double (*CalArea)(int w);}vtable;//建立基类typedef struct{ vtable *vptr_b 阅读全文

posted @ 2012-04-11 10:36 wly603 阅读(1511) 评论(0) 推荐(0) 编辑

PeekMessage与GetMessage的对比

摘要: PeekMessage与GetMessage的对比相同点:PeekMessage函数与GetMessage函数都用于查看应用程序消息队列,有消息时将队列中的消息派发出去。不同点:无论应用程序消息队列是否有消息,PeekMessage函数都立即返回,程序得以继续执行后面的语句(无消息则执行其它指令,有消息时一般要将消息派发出去,再执行其它指令)。GetMessage函数只有在消息对立中有消息时返回,队列中无消息就会一直等,直至下一个消息出现时才返回。在等的这段时间,应用程序不能执行任何指令。(从他们的不同点上来看,PeekMessage函数有点像“乞丐行乞”,有你就施舍点,没有也不强求。GetM 阅读全文

posted @ 2012-04-11 10:31 wly603 阅读(209) 评论(0) 推荐(0) 编辑

OpenCV中Mat与IplImage和CvMat类型之间的相互转换

摘要: Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Matlab中的各种矩阵运算),所以将IplImage类型和CvMat类型转换为Mat类型更易于数据处理。Mat类型可用于直接存储图像信息,通过函数imread、imwrite、imshow等实现(与Matlab中的函数相似),似乎在某种程度上可以取代IplImage类型。(1)将IplImage类型转换到Mat类型Mat::Mat(const IplImage* img, bool copyData=false);默认情况下,新的Mat类型与原来的IplImage类型共享图像数据,转换只是创建一个Mat矩阵 阅读全文

posted @ 2012-04-11 10:30 wly603 阅读(750) 评论(0) 推荐(0) 编辑

Ubuntu11.04教育网源

摘要: 转自:http://hi.baidu.com/glc400/blog/item/4998ad50fceb62998c5430cb.html以下是ubuntu 10.10 教育网的源:sudo gedit /etc/apt/sources.list#成都电子科大的源,教育网推荐deb http://Ubuntu.uestc.edu.cn/ubuntu/ natty main restricted universe multiversedeb http://Ubuntu.uestc.edu.cn/ubuntu/ natty-backports main restricted universe mu 阅读全文

posted @ 2012-04-11 10:29 wly603 阅读(392) 评论(0) 推荐(0) 编辑

Ubuntu--中文输入法与回收站

摘要: 环境:ubuntu8.04.41、安装中文输入法 $sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-gtk2-immodule scim-qtimm $sudo im-switch -s scimhttp://hi.baidu.com/atoooo/blog/item/7a251713f5664dd7f6039e77.html2、Ubuntu在桌面显示回收站 前几天把回收站搞没了,甚是不爽。问了下google,找回来了!打开终端,$gconf-edi 阅读全文

posted @ 2012-04-11 10:26 wly603 阅读(218) 评论(0) 推荐(0) 编辑

Ubuntu---tftp的配置

摘要: 配置tftp服务的步骤:1、安装相关软件包:tftpd(服务端),tftp(客户端),xinetdsudo apt-get install tftpd tftp xinetd2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftpsudogedit/etc/xinetd.d/tftp在文件中输入以下内容:service tftp{socket_type = dgramprotocol = udpwait = yesuser = rootserver = /usr/sbin/in.tftpdserver_args = -s /tftpbootdisable = noper_sou 阅读全文

posted @ 2012-04-11 10:25 wly603 阅读(220) 评论(0) 推荐(0) 编辑

预编译头文件(precompiled header)

摘要: 今天调试程序,碰到一个错误:fatal error C1010: unexpected end of file while looking for precompiled header directive分析:工程头文件处理的错误。解决:1、Project Setting-> C/C++ -> Category(Precompiled header)-> not using Precompiled header2、如果使用的是Win32工程,可能就是错误文件没有包含:#include "stdafx.h" ,添加该包含即可。详细理解,参考:http://w 阅读全文

posted @ 2012-04-11 10:22 wly603 阅读(341) 评论(0) 推荐(0) 编辑

C语言之条件编译

摘要: 一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是只对一部分内容进行编译,这就是“条件编译”。 条件编译形式一为: #ifdef 标识符 程序段1 #else 程序段2 #endif 作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2。 例如,在调试程序时,常常希望输出一些所需的信息,而在调试完成后不再输出这些信息。可以在源程序中插入以下的条件编译段: #ifdef DEBUG print ("device_open(%p)\n", file); #endif 如果在它的 阅读全文

posted @ 2012-04-11 10:20 wly603 阅读(888) 评论(0) 推荐(0) 编辑

导航