- 博客(70)
- 收藏
- 关注
转载 Linux线程(一)
一、线程概念 1.什么是线程 LWP:light weight process,轻量级的进程,本质仍是进程(Linux环境下) 进程:独立地址空间,拥有PCB 线程:也有PCB,但是没有独立的地址空间(共享) 区别:在于是否共享地址空间,进程(独居),线程(合租) Linux下,线程是最小执行单位,进程是最小分配资源单位,可以看成只...
2017-08-15 17:13:00 118
转载 模板(一)
一、函数模板 1.为什么使用模板 模板是为了实现泛型,可以减轻编程的工作量,增强函数的重用性 #include <iostream>using namespace std;template<typename T>void MySwap(T& a, T& b) { T temp = a; ...
2017-08-14 15:04:00 161
转载 C++基础(八)
一、类型的决定性 通过要给指针或引用访问类的成员,编译器只是根据指针或者引用的类型决定是否可以访问该成员,而与此指针或引用的实际目标对象无关。二、虚函数与多态 如果将基类中的某个成员函数声明为虚函数(在其返回类型前面加上virtual关键字),那么其子类中的同型函数也是虚函数(无论其是否带有virtual关键字),而且和基类版本形成覆盖关系。 这时通过一个指向子类对...
2017-07-10 22:00:00 140
转载 C++基础(七)
一、继承的基本概念 1.共性和个性 学生:姓名、年龄、学号,吃饭、睡觉、学习 教师:姓名、年龄、工资,吃饭、睡觉、授课 --------------------------------------------------------- 人类:姓名、年龄,吃饭、睡觉 --- 共性 学生是人:学号,学习 ...
2017-06-30 22:40:00 104
转载 C++基础(六)
一、静态成员 1.属于类而非对象 (1)静态成员变量不包含于对象实例中,具有进程级的生命周期 (2)静态成员函数没有this指针,也没有常属性 (3)静态成员函数只能访问静态成员(变量或函数),非静态成员函数既可以访问静态成员,也可以访问非静态成员 2.静态成员也受访控属性的约束。 3.静态成员变量必须在类外部定义或初始化,静态成员函数既可...
2017-06-25 11:58:00 75
转载 C++基础(五)
一、构造函数 1.C++的对象模型和C的结构体模型没有任何区别,包括成员的布局以及对齐补齐的规则。 2.对象中只有成员变量,没有成员函数。类的成员变量在该类的每个对象中都有一份独立的拷贝,但是类的成员函数只有一份,且为该类的所有对象共享。 3.为了在一个函数中区分不同的调用对象,编译器会为每个成员函数提供一个隐藏的指针参数——this指针,指向调用该成员函数的对象。在成...
2017-06-22 21:29:00 69
转载 3.C#基础(三)
1、复习 (1)注释 解释代码 注销代码 单行 // 多行 /**/ (2)加号 连接 -- 只要加号两边又一遍是字符串 相加 -- 两遍都是数字 (3)变量(存储数据) int stringchardecimal double ...
2016-12-11 21:12:00 105
转载 2.C#基础(二)
1、常用的快捷键 (1)ctrl+s 保存文件 (2)复制 ctrl+c (3)粘贴 ctrl+v (4)剪切 ctrl+x (5)home end (6)shift+home:向前选中 shift+end:向后选中 (7)#region 要折叠的代码 #endregion2、注释符 ...
2016-12-10 22:09:00 88
转载 1.C#基础(一)
1、.Net .Net平台 .Net FrameWork框架 .Net FrameWork框架提供了一个稳定的运行环境来保证我们.Net平台正常的运转, .Net平台正常运转后,我们基于.Net平台开发的各种应用程序也能够正常的运转。2、C#编程语言 计算机能够读得懂的语言叫做编程语言3、.Net的两种交互模式 (1)C/S:客户端/服...
2016-12-10 16:02:00 60
转载 2.给出距离1900年1月1日的天数,求日期
1 #include <iostream> 2 #include <assert.h> 3 4 5 //判断是否闰年 6 bool IsLeapYear(unsigned int year) 7 { 8 if ((year % 4 == 0 && year % 100 != 0) || year % 400...
2016-12-07 18:00:00 1431
转载 5.静态控件背景透明化
一、静态控件透明化 前面我们介绍过,通过WM_CTLCOLORDLG消息来设置对话框背景,还有消息来设置其他控件得背景: WM_CTLCOLORBTN - 按钮 WM_CTLCOLOREDIT - 编辑框 WM_CTLCOLORLISTBOX - 列表框 WM_CTLCOLORSCROLLBAR - 滚动条 WM_CTLCOLORS...
2016-10-20 22:58:00 148
转载 1.字符转换
1、将单字节Char转化为双字节的wchar_t的转换函数wchar_t* c2w(const char *str){int length = strlen(str)+1;wchar_t *t = (wchar_t*)malloc(sizeof(wchar_t)*length);memset(t,0,length*sizeof(wchar_t));...
2016-10-19 16:20:00 123
转载 4.不规则窗口(二)
1.不规则窗口 如果想改变不规则窗口的大小怎么做呢?用鼠标已经没办法了,因为看不到边框了。 (1)通过工具将图片缩放后,在执行程序 - 虽然可以,但是太麻烦 (2)在绘制窗口背景时,使用StretchBlt函数来缩放图片2.不规则窗口的要素 WS_EX_LAYERED属性、以位图为窗口背景(自己贴图或位图画刷)、指定透明色 1 HBITMAP g_...
2016-09-21 15:53:00 93
转载 3.不规则窗口
1.不规则窗口 原理:用一个位图画刷绘制窗口背景,然后把想要透明的颜色设置为透明色,就可以使窗口变成任意形状。 1 //窗口处理函数 2 LRESULT CALLBACK BitmapWindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) 3 { 4 static HDC s_hdc...
2016-09-19 13:53:00 70
转载 2.窗口透明度
1.窗口透明度 调节窗口透明度,先使用SetWindowLog函数给窗口加上WX_EX_LAYERED属性,再使用SetlayeredWindowAttributes指定窗口透明度。 //用于改变窗口的属性或在窗口的额外存储空间设置一个32位值 LONG SetWindowLong( HWND hWnd, //窗口句柄 ...
2016-09-19 10:59:00 185
转载 1.位图背景与位图画刷
1.WM_CTLCOLORDLG消息 在对话框画出来之前,系统将该消息发给对话框窗口。通过WM_CTLCOLORDLG消息来设置对话框文本和背景。 当窗口处理函数处理这个消息时,wParam表示对话框设备上下文(HDC),lParam表示对话框句柄。 如果处理了这个消息,返回一个画刷,系统用这个画刷重绘对话框背景。 因此,在WM_CTLCOLORDLG消息中获...
2016-09-18 18:14:00 217
转载 4.单例模式
1.单例模式 保证系统中一个类只有一个实例。 //懒汉模式class Singleton {public: static Singleton* GetInstance() { if (nullptr == singleton) { return new Singleton; } ...
2016-09-12 23:05:00 65
转载 3.适配器模式
1.适配器模式 适配器模式将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容一起工作的哪些类可以一起工作。它包括类适配器和对象适配器。(1)对象适配器 适配器容纳一个它包裹的类的实例,适配器调用被包裹对象的物理实体 例:STL中的双端队列,支持前后两端插入与删除。STL实现栈和队列时,没有从头开始定义它们,而是直接使用双端队列实现。这里双端队列就扮演...
2016-09-12 22:08:00 80
转载 2.策略模式
1.策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互交换。策略模式让算法独立于使用它的客户而独立变换。 例:高速缓存交换算法//交换算法抽象类class ReplaceAlgorithm {public: virtual void Replace() = 0;};//具体算法class LRU_ReplaceAlgor...
2016-09-11 19:17:00 51
转载 1.工厂模式
一、工厂模式(1)简单工厂模式 例:一个工厂只能够生产两种产品A和B,客户需要什么产品一定要显式地告诉工厂。 //产品类型enum TYPE { TYPEA, TYPEB };//产品基类class CProduct {public: virtual void Show() = 0;};//A产品类class CProdu...
2016-09-11 17:01:00 50
转载 2.绘制简单的几何图形
一、点、直线和多边形 数学上的点,只有位置,没有大小。但在计算机中,无论计算精度如何提高,始终不能表示一个无穷小的点。另一方面,无论图形输出设备如何精确, 始终不能输出一个无穷小的点。一般情况下,OpenGL中的点将被画成单个的像素,虽然它可能足够小,但并不会是无穷小。 同一像素上,OpenGL可以绘制许多坐标只有稍微不同的点,但该像素的具体颜色将取决于OpenGL的实...
2016-08-29 22:43:00 171
转载 1.一个简单的OpenGL程序
一、OpenGL介绍 1.与C语言紧密结合。 OpenGL命令最初就是用C语言函数来进行描述的,对于学习过C语言的人来讲,OpenGL是容易理解和学习的。 如果你曾经接触过TC的graphics.h,你会发现,使用OpenGL作图甚至比TC更加简单。 2.强大的可移植性。 微软的Direct3D虽然也是十分优秀的图形API,但它只用于Window...
2016-08-29 21:56:00 334
转载 2.由深拷贝和浅拷贝引发的写时拷贝技术
一、相关问题 我们知道,浅拷贝会引发重复释放,导致程序崩溃。而深拷贝虽不会出现上述问题,但是内存空间开销大。所以,有没有一种方法, 既节省空间,又不会造成程序崩溃呢?二、写时拷贝技术 写时拷贝(Copy-on-write):如果有多个呼叫者同时要求相同资源,他们会共同取得相同的指标指向相同的资源,直到某个呼叫者 ...
2016-08-11 16:38:00 82
转载 1.const与临时对象
一、介绍 const在C++中代表常量,不光能修饰普通变量,也能修饰指针,还能针对函数的参数、返回值以及类的成员函数进行修饰。 返回值都具有常性,即临时变量具有有常性。二、类成员为值形式class Test{public: Test(int d = 0) : m_data(d) { } ~Test() { }public: ...
2016-08-10 23:44:00 133
转载 19.网络编程(二)
一、使用MFC的Socket类实现简单的文件传输 1. 相关类 CAsyncSocket类 - 异步socket类 CSocket类 - 父类是CAsyncSocket类, 同步socket类 2. 使用 2.1 文件传输服务器端 2.1.1 添加用于文件传输的socket类,继承自CAsyncSocket 2.1.2...
2016-08-09 23:06:00 55
转载 18.网络编程(一)
一、介绍 1. 使用基本的socket函数 2. 使用以WSA(Windows Socket API)开头的socket函数,结合了windows平台的特性。 3. MFC的socket类,部分的封装了以WSA开头的socket函数二、socket库的介绍 vc6.0包含了1.1版本的socket库,xp以上系统自带了2.2版本的socket库 1. 2...
2016-08-09 14:16:00 65
转载 16.ADO
一、VC访问数据库技术 1. ODBC Open Database Connectivity,微软开放式数据互联。 使用相同的这组API函数,访问和操作不同类型的数据库。 前提是在访问之前,需要将数据库设置为ODBC数据源。 MFC将这组函数封装,形成了ODBC类。只能访问关系型数据库。 2. DAO 基于ODBC的,目前已淘...
2016-08-08 15:50:00 77
转载 15.COM组件技术应用之一:ActiveX控件
一、ActiveX控件(COM组件技术的应用之一) flash.ocx 1. 概念 1.1 ActiveX控件的概念 基于COM组件技术,可以被任何支持COM标准的计算机程序的项目使用。 可是采用拖拽的方式创建,使用向一般控件一样方便。文件的后缀是ocx,有时称ocx控件。 1.2 COM组件的概念 Compo...
2016-08-06 22:51:00 340
转载 14.MFC线程
一、MFC线程 1. 分类 根据不同的用途,包括工作者线程和用户界面线程 2. 工作者线程 2.1 介绍 没有单独的用户界面,常用来完成后台的耗时的操作 2.2 使用 CWinThread* AfxBeginThread( AFX_THREADPROC pfnThreadProc, //线程处...
2016-08-04 23:12:00 53
转载 13.MFC控件(二)
一、列表控件 1. 相关类 CListCtrl - 父类是CWnd类,控件类,常用于对话框程序中。 CListView - 父类是CCtrlView类,视图类,常用于文档视图应用程序中。 通过调用GetListCtrl()函数得到视图客户区的控件,通过CListCtrl类完成相关功能。 列表控件有4中不同的显示风格:图标、小图标、...
2016-08-03 23:05:00 132
转载 12.MFC控件(一)
一、MFC控件介绍 1. 静态控件,包括图片、静态文本、分组框。 在代码中很好操作该类控件,控件的默认ID都是IDC_STATIC。 如果需要操作,必须修改控件的ID。 2. 按钮控件,包括一般按钮、复选按钮、单选按钮。 控件类都是CButton类。 如果需要在同一个对话框中有多个单选的分组,需要设置单选按钮的group属性。 ...
2016-08-02 15:46:00 204
转载 11.MFC对话框
一、MFC对话框 1.对话框的分类 模式和非模式 2.相关类 CDialog类 - 父类CWnd类 CCommonDialog - 父类是CDialog类,称为通用对话框类,包括颜色对话框、文件对话框、字体对话框、 查找对话框、页面设置对话框、打印对话框。 CPropertyPage类 - 父类是CDialo...
2016-08-01 22:53:00 164
转载 10.MFC文件操作、对象序列化
一、MFC文件的操作 1.相关类 CFile - 文件操作类,封装了关于硬盘文件读写操作的API函数,父类CObject CFileFind - 文件查找类,封装了关于文件遍历操作的API函数 2.CFile类的使用 2.1文件内容读写 (1)创建或打开硬盘文件,CFile::Open (2)读写文件,CFile::Rea...
2016-07-26 11:06:00 178
转载 9.MFC绘图
一、MFC绘图 1.相关问题 WIN32 - HDC MFC - CDC类对象 2.相关类 (1)CDC类 - 父类CObject,封装了关于绘图的各种API函数,还封装了成员变量m_hDC(保存绘图设备句柄) (2)CDC类的子类 CClientDC - 封装了在客户区中绘图的绘图设备,::GetDC CWin...
2016-07-24 17:11:00 80
转载 8.MFC多文档视图构架程序
一、多文档视图构架程序 1.相关问题 可以同时管理多个文档(可以有多个文档类对象) 2.相关类 CWinApp / CDocument / CView / CMIDChildWnd / CMIDFrameWnd CDocTemplate CMultiDocTemplate - 多文档模板类 CDocManager - 文...
2016-07-23 23:18:00 319
转载 7.MFC单文档视图构架程序
一、单文档视图构架程序 1.相关问题 只能管理一个文档(只有一个文档类对象) 2.相关类 CWinApp / CFrameWnd / CView / CDocument CDocTemplate - 文档模板类 CSingleDocTemplate - 当文档模板类 CDocManager - 文档管理类 3.关系图...
2016-07-23 14:43:00 111
转载 6.MFC基础(六)窗口切分、文档类
一、切分窗口 1.切分窗口分类 静态切分 - 在窗口创建出来的时候就已经完成切分 动态切分 - 在程序执行过程中根据用户的需要实时完成切分,最多只能切出2*2个(最多2行2列) 2.相关类 CSplitterWnd - 父类CFrameWnd(只有一个客户区的窗口叫规则框架窗口),封装了关于不规则窗口的操作 3.静态切分 (1)定义CSp...
2016-07-21 21:54:00 107
转载 5.MFC基础(五)视图、运行时类信息、动态创建
一、MFC的视图窗口 1.相关问题 视图窗口:提供了一个用于显示数据的窗口,并和用户进行交互操作 2.相关的类 CView及其子类 - 父类CWnd,封装了关于视图窗口的操作 3.视图窗口的使用 (1)从CView类派生一个自己的视图类(CMyView),并必须重写父类的纯虚函数OnDraw 当CView类帮我们处理WM_PAINT消息时将调...
2016-07-20 17:39:00 213
转载 4.MFC基础(四)菜单、工具栏、状态栏
一、MFC菜单 1.相关问题 WIN32 - HMENU 代表一个菜单 MFC - CMenu 类的对象代表一个菜单 2.相关类 CMenu - 封装了关于菜单操作的各种API函数,还封装了一个非常重要的变成m_hMenu(保存了菜单句柄) 3.菜单的使用 (1)添加菜单资源 (2)设置菜单方法 a.在调用Create函数创建主...
2016-07-19 18:44:00 227
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人