C++
文章平均质量分 69
lixiaomin_235
喜欢交流计算机技术,共同提高!
展开
-
关于几种排序方法的MFC程序
最近复习了一下数据结构的课本,看了一下关于排序的算法,并编写了下面的小程序以练习。其中排序的算法主要包括:直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序和堆排序等几个。1、 直接插入排序(Straight Insertion Sort)直接插入排序是稳定的排序方法,它的基本操作是将一个记录插入到已排好的有序表中,从而得到一个新的、记录数增1的有序表。通常为了防止越界,常设r[0原创 2008-08-04 16:52:00 · 2742 阅读 · 1 评论 -
ANSI版本和UNICODE版本的函数实现
ANSI版本和UNICODE版本的函数实现2008年11月4日星期二通常我们在编程中需要提供软件的ANSI版本和UNICODE版本,以提供更大的兼容空间。最新的windows操作系统已经将内部实现都转换为UNICODE编码了。尽管有很多API还有ANSI版本,但是其内部实现却是先转换为UNICODE,然后再调用UNICODE版本的函数。因此,我们在实际编写两个版本的函数实现时,也应该采用这原创 2009-04-21 10:36:00 · 563 阅读 · 0 评论 -
计算机软硬件信息获取程序实现
计算机软硬件信息获取程序实现2008年9月22日星期一最近从msdn上看到了获取系统软硬件信息的API和操作注册表的API,所以就编写了一个小的演示程序来实现,主要实现过程:通过一个登录框登录,其中用户名(默认Administrator)是在程序运行时自动在注册表中生成的,并在登录按钮中查询用户密码是否有效。当成功登录后,再初始化函数中实现系统软硬件信息获取并以树控件视图的形式显示出来。可原创 2009-04-21 11:06:00 · 2601 阅读 · 0 评论 -
static_cast和dynamic_cast (转)
static_cast和dynamic_cast static_cast 用法:static_cast ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换转载 2009-10-25 16:55:00 · 394 阅读 · 0 评论 -
c++中的explicit关键字(转)
c++中的explicit关键字用来修饰类的构造函数,表明该构造函数是显式的,既然有"显式"那么必然就有"隐式",那么什么是显示而什么又是隐式的呢?如果c++类的构造函数有一个参数,那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class MyClass{public:MyClass( int num );}....MyClass转载 2009-10-25 17:15:00 · 287 阅读 · 0 评论 -
关于代码相关性的一点理解
关于代码相关性的一点理解2009-10-25通常在程序设计中,为了提高代码的重用,都尽量要减少代码之间的相关性。按照关联的强弱程度,可以分为以下几种:1、 硬关联如果A与B之间有关联,且B与A之间有强关联,那么A与B之间就存在这硬关联。如:// B.h#include “A.h”class B{ A m_A;}; // A.h原创 2009-10-25 16:20:00 · 651 阅读 · 1 评论 -
一种较好的Singleton设计
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE原创 2010-01-17 22:18:00 · 573 阅读 · 0 评论 -
C/C++内存泄漏及检测
C/C++内存泄漏及检测2011-02-20 17:51 by 吴秦, 10936 阅读, 7 评论, 收藏, 编辑 “该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这转载 2013-03-11 23:08:04 · 341 阅读 · 0 评论 -
内存分配器dlmalloc 2.8.3源码浅析
目 录1. 本文档介绍 12.边界标记法 23. 分箱式内存管理 64. 核心结构体malloc_state 135. 内存分配相关函数 165.1 函数dlmalloc 165.2 函数tmalloc_small 255.3 函数tmalloc_large 275.4 函数sys_alloc 325.5 函数m转载 2013-03-12 00:11:20 · 1018 阅读 · 0 评论 -
现代C++基于STL的算法使用
在C++11中,引入了lambda,可以极大的方便了STL算法函数的处理。下面以几个算法为例:for_each遍历算法find_if查询算法lower_bound排序算法原C++:for (std::vector::itorator it(vList.begin()); it != vList.end(); it++){ ... }std::vector原创 2013-04-06 02:27:28 · 474 阅读 · 0 评论 -
现代C++的智能指针
为了更加高效安全的使用指针,智能指针应运而生。1. unique_ptr (原auto_ptr,由于不够高效,已被否决):动态分配对象以及当对象不再需要时自动执行清理,并且指针无法复制,只能通过std::move移动; auto ptrA = unique_ptr(new Song(L"T", L"A")); auto ptrB = ptrA; // wrong!!!原创 2013-04-06 02:01:35 · 566 阅读 · 0 评论 -
PNPatches学习
PNPatches学习2013/5/1 Simon&Lee理论学习通常,为了在游戏中更加丰富模型细节,AMD提出了一种Tessellation的网格拆分技术。经过若干年的发展,微软在DirectX11中引入了这一技术。在基于DirectX11的渲染管线中,增加了Hull-Shader Stage、Tessellator Stage和Domain-S原创 2013-05-01 23:55:44 · 742 阅读 · 0 评论 -
打印系统日志(使用API)
打印系统日志(使用API)2009年4月13日星期一通常,我们在编写小型软件时,不太注重使用系统的日志维护功能,而是自己定义日志文件。但当我们的软件变的庞大时,为了更好的维护日志,最好的办法就是使用系统提供的日志功能,系统会自动帮我们进行维护。下面介绍几个打印日志的API:RegisterEventSource函数原型:HANDLE RegisterEventSource原创 2009-04-14 11:32:00 · 1834 阅读 · 0 评论 -
基于数据共享进行通信的服务编程
基于数据共享进行通信的服务编程2009年4月14日星期二通常为了提高程序的运行权限,如在系统启动是进行启动运行,就需要用到服务,这里简单的给出基于Win32应用程序框架的服务(和控制台类似),详细不再介绍,见代码注释。 void Init(); // 初始化函数BOOL IsInstalled();原创 2009-04-14 11:29:00 · 581 阅读 · 0 评论 -
二进制、八进制、十进制、十六进制数的转换方法
二进制、八进制、十进制、十六进制数的转换方法一)、数制 计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。 一般计数都采用进位计数,其特点是: (1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。 (2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上原创 2009-03-25 19:01:00 · 9100 阅读 · 5 评论 -
各种数据类型的sizeof值
详细结果如下程序及运行结果:// SizeOfClass.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include using namespace std; int _tmain(int argc, _TCHAR* argv[]){ // int short int a=15; cout"原创 2008-08-19 08:38:00 · 721 阅读 · 1 评论 -
一个用Windows SDK实现的时钟
为了更好的熟悉window程序设计,特编写了下面的小示例(参照Windows程序设计第二版),现将程序实现总结如下:程序运行图:程序代码如下:// header files#include "windows.h"#include "math.h" // defines#define WINDOW_CLASS_NAME "3D Game" #defi原创 2008-10-20 16:54:00 · 628 阅读 · 0 评论 -
GetSystemMetrics函数参数nIndex的定义
今天用到了获取系统设置信息函数GetSystemMetrics();试着翻译了下其中的参数含义,顺便gg了下发现已经有翻译的很完美的了,转载之.(From:http://www.chinavb.net/Article.asp?id=2315)下面是GetSystemMetrics函数参数nIndex的定义:SM_ARRANGE 返回是否预备最小化.SM_CLEANBOOT 返回系统启动方转载 2008-10-21 09:55:00 · 494 阅读 · 0 评论 -
OpenSSL初学总结
OpenSSL初学总结2008年12月29日星期一最近一段时间看些关于OpenSSL加密函数的使用,现将一些使用总结如下:1、 OpenSSL简介:openssl是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS原创 2008-12-29 15:59:00 · 13503 阅读 · 3 评论 -
使用DSkinLite美化界面
相信已经有很多人用过QQ2009了,自然也对其中的UI设计很感兴趣,觉得设计很是完美。但是这是怎么设计的呢?下面我介绍一个用来实现这种效果的设计库——DSkinLite(源于CodeProject)。下面通过一个演示程序来介绍使用过程:程序中,我主要对主窗口和两个通用对话框(打开对话框和浏览对话框)进行了换肤,这里我所有的窗口都使用了同一个皮肤(定义在XML文件中),原创 2008-11-08 10:37:00 · 2706 阅读 · 1 评论 -
WIN32_FIND_DATA结构
WIN32_FIND_DATA结构 关于文件的全部属性信息,总计有以下以下9种:文件的标题名、文件的属性(只读、存档,隐藏等)、文件的创建时间、文件的最后访问时间、文件的最后修改时间、文件大小的高位双字、文件大小的低位双字、保留、保留。在这里只有文件标题名和文件的长度可以通过CFile类比较方便的获得,而对于其他几种属性的获取和设置就无能为力了。 在用findfirst()和f转载 2009-01-04 14:27:00 · 527 阅读 · 0 评论 -
解析从INI配置文件读取到操作命令
解析从INI配置文件读取到操作命令2009年2月23日星期一由于工作中遇到文件更新到开发,自然涉及到从配置文件中读取操作命令,以便中更新过程中进行操作。下面以工作中的Demo为示例:[Setting]Version=1.2.3.0[Files]umini_console.exe={desktop}install_driver.exe={thisdir}umini_o原创 2009-02-23 16:15:00 · 791 阅读 · 0 评论 -
在Dll中编写通过ADO远程访问SQL2000数据库时遇到的问题
这一段时间要用到dll中使用ado,在mfc中用ado一段时间没有出现什么问题,本以为在dll中也不会出现什么问题,但是问题产生了,而且是在最开始的导入ado的dll文件时候。我的做法是: #import "c:/program files/common files/system/ado/msado15.dll" no_namespace rename("EOF","adoEOF") 出现:转载 2009-03-03 09:30:00 · 856 阅读 · 2 评论 -
为控件添加提示文字(转)
我学VC从VC知识库中得到不少好处,相来都是一些热心朋友们的帮助,在此表示感谢!本工程可分五步:1、建一个基于对话框的程序TipTest,在CTipTestDlg中增加成员变量:CToolTipCtrl m_tip[2],CWnd *m_pSub[2];2、在CTipTestDlg::OnInitDialog()函数中增加如下代码: pSub[0] = GetDlgItem转载 2009-03-03 17:49:00 · 419 阅读 · 0 评论 -
关于C++ Private的深究
其实,按 private 的作用,面向对象的语言可以大致分两类: 一类以类为访问界限,如 C++,同一类的不同对象可以互相访问 private 成员 另一类以对象为访问界限,如 smalltalk,一个对象的 private 成员只有该对象自身才能访问,不同对象,即使同一类,也不能访问。 或者说,C++ 更像“面向类”的语言,而转载 2009-03-20 17:02:00 · 476 阅读 · 0 评论 -
基于PhotoScan的模型生成技术
基于图片生成模型的技术早已存在,也有若干软件可以模拟。俄毛子的PhotoScan软件,可以基于一组360度照片,生成逼真的高精度模型。从FoxEngine的实现上,不难看出,未来几年的次时代制作将是高度逼真的模型。所以,基于照片生成高模的技术可以作为次时代美术必不可少的辅助软件。下面,我进行了简单的尝试,并附以简单效果截图。这里先是一组各个角度的照片素材。 通过PhotoScan,原创 2013-08-04 00:57:21 · 2221 阅读 · 0 评论