Welcome 微信登录

首页 / 软件开发 / C++

按照类型名称动态创建对象

按照类型名称动态创建对象

按照类型名称动态创建对象2010-09-21死猫1 引言我的一个实际项目中,由于希望通过一致的接口控制各种型号的设备,并且可以方便的随时扩充,以便将来支持更多的型号。因此,必须在运行时指定设备的型号。为了使应用程序可以透明的控制各种型号的设备,所以建立了一个简单的继承体系,设计一个协议类(Protocol Class)作为设备的控制接口,并且为每个型号的设备设计了一个具体的类,从协议类派生并且实现了抽象的公共接口。因此,我需要一种手段,根据设备的型号在运行...
揭开C/C++中数组形参的迷雾

揭开C/C++中数组形参的迷雾

揭开C/C++中数组形参的迷雾2010-09-21 vckbase 乾坤一笑楔子去年,周星星大哥曾经在VCKBASE/C++论坛发表过一篇文章“数组引用"以避免"数组降阶”,当时我不能深入理解这种用法的含义;时隔一年,我的知识有几经锤炼,终于对此文章渐有所悟,所以把吾所知作想详细道来,竟也成了一篇文章。希望本文能对新手有所启迪,同时也希望大家发现本文中的疏漏之处后不吝留言指教。故事起源于周星星大哥给出的两个Dem...
C++中的引用(reference)

C++中的引用(reference)

C++中的引用(reference)2010-09-21张笑猛1.简介引用是C++引入的新语言特性。从语意上来说,引用就是一个变量的别名,就好象古代人的“字”和“号”,东坡居士和苏轼只是一个人的不同称呼。对引用的操作对变量产生的影响与对变量直接操作完全一样。例如:int i = 0;int & iRef = i;iRef++; // i = iRef = 1尽管引用不使用指针的操作符(*, ->...
Pentium III处理器的单指令多数据流扩展指令(1)

Pentium III处理器的单指令多数据流扩展指令(1)

Pentium III处理器的单指令多数据流扩展指令(1)2010-09-27关键字 :Pentium,处理器,单指令多数据流扩展指令,SSE,指令集概要 :随着Intel Pentium III处理器的发布,给程序设计人员又带来了许多新的特性。利用这些新特性,程序员可以为用户创造出更好的产品. Pentium III和Pentium III Xeon(至强处理器)的许多新特性,可以使她能够比Pentium II和Pentium II Xeon处理器有更快...
Pentium III处理器的单指令多数据流扩展指令(2)

Pentium III处理器的单指令多数据流扩展指令(2)

Pentium III处理器的单指令多数据流扩展指令(2)2010-09-27foenix关键字 :Pentium,处理器,单指令多数据流扩展指令,SSE,指令集概要 :随着Intel Pentium III处理器的发布,给程序设计人员又带来了许多新的特性。利用这些新特性,程序员可以为用户创造出更好的产品. Pentium III和Pentium III Xeon(至强处理器)的许多新特性,可以使她能够比Pentium II和Pentium II Xeon...
Pentium III处理器的单指令多数据流扩展指令(3)

Pentium III处理器的单指令多数据流扩展指令(3)

Pentium III处理器的单指令多数据流扩展指令(3)2010-09-27foenix概要 :随着Intel Pentium III处理器的发布,给程序设计人员又带来了许多新的特性。利用这些新特性,程序员可以为用户创造出更好的产品. Pentium III和Pentium III Xeon(至强处理器)的许多新特性,可以使她能够比Pentium II和Pentium II Xeon处理器有更快的运行速度,这些新特性包括一个处理器序列号(unique p...
C++字符串完全指引之一:Win32 字符编码

C++字符串完全指引之一:Win32 字符编码

C++字符串完全指引之一:Win32 字符编码2010-09-27 Chengjie Sun引言毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。在第一部分,我们将介绍3种字符编码类型。了解各种编码模式的工作方式是很重要的事情。即使你已经...
C++字符串完全指引之二:字符串封装类

C++字符串完全指引之二:字符串封装类

C++字符串完全指引之二:字符串封装类2010-09-27 Chengjie Sun引言因为C语言风格的字符串容易出错且不易管理,黑客们甚至利用可能存在的缓冲区溢出bug把C语言风格的字符串作为攻击目标,所以出现了很多字符串封装类。不幸的是,在某些场合下我们不知道该使用哪个字符串类,也不知道怎样把一个C风格的字符串转换成一个字符串封装类。这篇文章将介绍所有在Win32 API, MFC, STL, WTL 和 Visual C++ 运行库中出现的字符串类型...
简单手写体数字识别系统

简单手写体数字识别系统

简单手写体数字识别系统2010-09-27陈海艺摘要为了实现对手写字体的识别,运用了人工智能的分层神经网络思想,对识别的字体通过训练学习,达到识别手写字体的功能。关键字 VC,人工智能,神经网络,手写识别。1 引言1.1 编写目的人工智能英文名表示是"Artificial Intelligence",简称 AI,也就是用计算机模拟人的思维和知识,通过对本系统的学习开发,对计算机人工智能和神经网络有了初步的认识,萌发初学者对人工智能和网络...
确定有穷自动机分析内核

确定有穷自动机分析内核

确定有穷自动机分析内核2010-09-27孙雪青前些时候学习编译原理,同时也为 DocWizard 做词法分析技术的准备,于是便想出了一种词法分析内核。这个分析内核可以在不改变代码的情况下分析不同的 DFA。分析器的基本构造如图一所示,脚本 Scripts 进入分析内核 ParsingKernel,分析内核根据 DFA 规则作词法分析,生成单词序列 WordsSequence。图一其中的 DFA Rules 其实就是 DFA 中的状态转换规则。分析内核在工...
C++中的虚函数

C++中的虚函数

C++中的虚函数2010-09-27aber虽然很难找到一本不讨论多态性的C++书籍或杂志,但是,大多数这类讨论使多态性和C++虚函数的使用看起来很难。我打算在这篇文章中通过从几个方面和结合一些例子使读者理解在C++中的虚函数实现技术。说明一点,写这篇文章只是想和大家交流学习经验因为本人学识浅薄,难免有一些错误和不足,希望大家批评和指正,在此深表感谢!一、基本概念首先,C++通过虚函数实现多态."无论发送消息的对象属于什么类,它们均发送具有同一形...
观察者模式(Subject/Observer)

观察者模式(Subject/Observer)

观察者模式(Subject/Observer)2010-09-27 cppblog YGFaith定义:对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。功能:搜索数据库,当有需要公布的数据将其用各种方式发送出去。观察者模式无疑能很好的做到上面的要求,无论要多少种方式,只要增加多个继承之ITransfer接口的派生类即可,有很好的维护性。以下是实际的应用....
像素叠加实现图片的半透明混合

像素叠加实现图片的半透明混合

像素叠加实现图片的半透明混合2010-09-27 VC知识库 HateMath半透明的混合效果经常在游戏里看到,效果那叫一个好。有天好奇心起,想琢磨一下这种效果是怎么实现的。可是自己没学过数字图像处理和图形学,于是只好凭直觉猜测了。按照生活经验,将两个胶片叠在一起时会有半透明效果,于是设想:从位图A和B中对应位置各取一点Pa、Pb,分别求取Pa和Pb的RGB三个分量,并将对应分量求均值后拼装成一个新的颜色,这样就是透明度为一半的混合效果了。按这个思路试了试...
C++内存管理变革(2):最袖珍的垃圾回收器

C++内存管理变革(2):最袖珍的垃圾回收器

C++内存管理变革(2):最袖珍的垃圾回收器2010-10-14 csdn博客 许式伟概述C/C++最被人诟病的,可能是没有一个内存垃圾回收器(确切是说没有一个标准的垃圾回收器)。本文讨论的内容要点是,在C/C++中实现一个最袖珍的、功能受限的垃圾回收器。这个垃圾回收器区别于其他垃圾回收器的主要特征是:1. 袖珍但具实用性。整个垃圾回收器代码行数100行左右(不含空白行),相当小巧。相对而言,它的功能也受到一定的限制。但是它在很多关键的场合恰恰非常有用。该...
C++内存管理变革(3):另类内存管理

C++内存管理变革(3):另类内存管理

C++内存管理变革(3):另类内存管理2010-10-14 csdn博客 许式伟最简单的C++/Java程序最简单的Java程序:class Program{public static void main(){new int;}}对应的C++程序:void main(){new int;}我想没有一个Java程序员会认为上面的Java代码存在问题。但是所有严谨的C++程序员则马上指出:上面这个C++程序有问题,它存在内存泄漏。但是我今天想和大家交流的一个观...
C++内存管理变革(4): boost::object_pool

C++内存管理变革(4): boost::object_pool

C++内存管理变革(4): boost::object_pool2010-10-14 csdn博客 许式伟言归正传。我们在内存池(MemPool)技术详解已经介绍了boost::pool组件。从内存管理观念的变革来看,这是是一个传统的MemPool组件,尽管也有一定的改进(但只是性能上的改进)。但boost::object_pool不同,它与我在C++内存管理变革强调的观念非常吻合。可以认为,boost::object_pool是一种不通用的gc allo...
GUI库:使本机应用程序具备Windows窗体的简易性

GUI库:使本机应用程序具备Windows窗体的简易性

GUI库:使本机应用程序具备Windows窗体的简易性2010-10-14 MSDN John Torjo本文将介绍以下内容:有关 GUI 编程的问题创建窗口对象处理事件和通知窗体和控件本文使用以下技术:Win32 API、C++目录兼有本机和可移植性无 windows.h处理每个窗口直观的代码控件与窗体窗体编程处理窗体脱离旧 ID事件和通知菜单、快捷方式及类似项选项卡控件和窗体调整大小与 Visual Studio 2005 集成实现行为使用 C++ 进...
<< 121 122 123 124 125 126 127 128 129 130 >>