Welcome 微信登录

首页 / 软件开发 / C++

C++的四个显式的数据类型转换函数

C++的四个显式的数据类型转换函数

C++的四个显式的数据类型转换函数2011-05-311 reinterpret_cast(在编译期间实现转换)reinterpret_cast类型转换函数将一个类型的指针转换成另一个类型的指针。这种转换不用于修改指针变量值数据存放的格式(不改变指针变量值),只需在编译期间重新解释指针的类型就可以做到。reinterpret_cast可以将指针值转换为一个整型数。但是不能用于非指针类型的转换,否则将不会通过编译。什么时候使用reinterpret_cast...
文本语音转换入门

文本语音转换入门

文本语音转换入门2010-05-12 vckbase Suyu内容简介文本语音(Text-to-Speech,以下简称TTS),它的作用就是把通过TTS引擎把文本转化为语音输出。本文不是讲述如何建立自己的TTS引擎,而是简单介绍如何运用Microsoft Speech SDK 建立自己的文本语音转换应用程序。Microsoft Speech SDK简介Microsoft Speech SDK是微软提供的软件开发包,提供的Speech API (SAPI)主...
明确C++中引用的本质

明确C++中引用的本质

明确C++中引用的本质2011-05-31 新浪blog 德明泰一般的教材上讲到引用时,都是说“引用是对象的一个别名”。 我认为这种定义是不清晰的,不利于初学者理解引用。至少我自己曾经被这个定 义困扰了一段时间。到底什么是“别名”?实际上,引用的实质是位于xxxxxx地址上的一个xxxx类型的对象。比如教科 书上常用的例子:int a = 5; //不妨假设编译器将a分配到0x400000int &b...
C++惯用法之RAII

C++惯用法之RAII

C++惯用法之RAII2011-05-31C++号称是多范式的通用编程语言,但是RAII实际上已在C++编程技术中变成 不可或缺的核心技术。RAII几乎无处不在的身影不仅仅来自于C++之父的大力提 倡,更来自于这一技术本身的简单,高效和几乎无所不能的适应面。如 果您还没有听说过RAII的话,那么我在这里再重新叙述一遍,RAII是下列英文短 语的首字母缩写:Resource Acquisition Is Initialisation这 句话直译为中文的意思是...
用SkinMagic工具包创建换皮肤程序

用SkinMagic工具包创建换皮肤程序

用SkinMagic工具包创建换皮肤程序2010-05-12 vckbase 李少杰代码运行效果图如下:以前看到瑞星和金山词霸有换皮肤功能,很是羡慕,自己也想做个换皮肤的程序,但毕竟自己能力有限,以前在此处看到一篇介绍换皮肤功能的文章,但只能应用在对话框程序上。我也试过像BCGCBar这样的大型软件,给我的感觉是软件老是出问题,应用起来也很复杂。在年前我就看到本站有SkinMagic软件包,但当时不知怎么用,发了贴子也没人回答。可能是很少有人用的缘故吧,本...
C++中的名字查找问题解答

C++中的名字查找问题解答

C++中的名字查找问题解答2011-05-31朋友最近发邮件问我两个问题。内容如下(为了更适合阅读,我做了简单修改。译者在此基础上又做了修改):我在C++的多继承上遇到了很大麻烦。如图1,A、B1和B2为纯抽象类;C从B1、B2多继承,且实现了全部父类的抽象方法。图1现在:C* p = new C;p->Method_of_A(); //从B1、B2都能得到被调用方法,为什么编译器不报“二义性”(ambiguity)错误呢?而...
KVIP考勤系统

KVIP考勤系统

KVIP考勤系统2010-05-12 vckbase Kelvin最近用VC重写了一个几年前用PowerBuiler写的软件。软件功能并不多,主要是我模仿PB做了几个通用基类,还有这几年收集的一些东东,以下是程序中使用到的主要的几个类:1、ADOxxxx是别人写的一个数据库类,具体怎么用去问作者吧。2、CPreGraphic是实现绘制的类,DrawText()等3、CPrePrint是控制打印机的类,CPrintDialog等4、CDataWin是实现功能...
C++中内联函数的定义和使用

C++中内联函数的定义和使用

C++中内联函数的定义和使用2011-05-31引入内联函数的目的是为了解决程序中函数调用的效率问题。函数是一种更高级的抽象。它的引入使得编程者只关心函数的功能和使用方 法,而不必关心函数功能的具体实现;函数的引入可以减少程序的目标代码,实 现程序代码和数据的共享。但是,函数调用也会带来降低效率的问题,因为调用 函数实际上将程序执行顺序转移到函数所存放在内存中某个地址,将函数的程序 内容执行完后,再返回到转去执行该函数前的地方。这种转移操作要求在转去前 要...
椭圆窗体的实现

椭圆窗体的实现

椭圆窗体的实现2010-05-12张建明代码运行效果图如下:我将分三部分介绍这一程序的实现过程:1.生成椭圆形图形界面,并在上面写斜体带颜色的子和鼠标拖动功能。2.增加鼠标右键菜单,并实现总在前面和其他程序自动覆盖的功能。3.生成鼠标的全局钩子,截获鼠标事件,返回****的值。1.生成椭圆形图形界面,并在上面写斜体带颜色的子。在VC集成编译环境中,选择“文件”,“新建”,然后选择“工程&rdquo...
Linux下c++编译器Code::Blocks安装

Linux下c++编译器Code::Blocks安装

Linux下c++编译器Code::Blocks安装2011-05-31最近想写写C 、C++方面的程序,所以想找一个Linux下的编辑器来用用, 找了很多也试了不少,最后锁定了CodeBlocks.以下是关于他的介绍和一些安装 过程。适用所有的Linux吧。(有时就只是需要一个安装的思路,其它的都差不 多一样的)(摘抄)Code::Blocks,有时也简单打成 “CodeBlocks”,是一款全新的C++集成设置环境软件(IDE)...
FMail文件信使 V1.0

FMail文件信使 V1.0

FMail文件信使 V1.02010-05-25FMail 简介FMail是一款局域网内文件传输工具,辅助用户完成日常工作中的文件传输任务。从功能方面讲,该软件实现了文件的单发和群发,用户查找,群发组管理,接收历史查询,远程用户维护,记录系统日志以及Shel与FMail系统之间的文件拖拉等功能。本软件是完全免费的绿色软件,使用简单方便,适用于Win9x / Win2000 / WinXp 等大多数Windows平台;而从软件设计角度看,该系统为简单的C(文...
C++技巧之二维动态数组类模板

C++技巧之二维动态数组类模板

C++技巧之二维动态数组类模板2011-05-31C++提供了许多强大的机制来实现代码的高度复用、来使我们使用我们自已的类就像使用内置类型那样方便快捷。比如模板,运算符重载等等。模板好比如是一个大批量生产函数和类的工厂,使我们不用再去关心与数据类型相关的繁琐编程细节,把我们精力留给那些真正值得我们去认真思考的地方。而运算符重载则使我们的程序更直观更简洁,这不仅使我们更容易读懂我们的程序,而且使我们能以一种更为流畅的方式来表达我们的想法。就像上篇文章说到的,...
在VC应用程序中插入微型动画

在VC应用程序中插入微型动画

在VC应用程序中插入微型动画2010-05-25本文利用CImageList类保存数幅画面,利用Draw函数在一定的时间间隔播放出来,形成了类似GIF动画的效果。该方法可以在Window的客户区内、工具条上、状态条上播放动画。本文还给出了利用SetIcon函数在窗口标题栏上播放动画的方法。动画是不同的相对连续的几幅静态画面按一定的时间间隔显示出来利用人的视觉原理形成动的效果。在应用程序中插入动画可以为您的应用程序增加不少特色,起到美化界面的效果。在VC中播...
c++通道应用(服务器篇)

c++通道应用(服务器篇)

c++通道应用(服务器篇)2011-05-31 网易博客 灵风【C++程序中命名管道通讯的实现】最近学习c++中,试手过程选择实 现一个程序与被注入程序互通的工具,感觉如果是计算机本地的通讯使用socket 似乎有些不太理性,俗话说“杀鸡焉牛宰牛刀”,所以使用伟大的 google找到了更适合轻量级程序通讯的内容,即下面所要说的:“管道 ”。首先按照国际管理,介绍下c++实现“管道” 的...
用VC++在单文档界面中创建多视图

用VC++在单文档界面中创建多视图

用VC++在单文档界面中创建多视图2010-05-25周伟一个单文档界面中存在多个视图,并且可以根据需要进行视图的动态切换,这是当前比较流行的界面风格,它可以满足许多用户在操作和显示方面的需要。这种界面风格的主要代表软件是Outlook Express。而用VC++实现这种风格的界面有一定难度,笔者就这个问题进行了研究,并归纳总结出两种实现方法(这些代码都在VC++ 6.0下调试通过),使用时关键注意步骤和实现思路,不必拘泥于代码的形式。方法一:静态创建切...
C/C++字符串处理盘点:Char*/String/StringBuilder/TextPool/Rope

C/C++字符串处理盘点:Char*/String/StringBuilder/TextPool/Rope

C/C++字符串处理盘点:Char*/String/StringBuilder/TextPool/Rope2011-05-31 csdn博客 许式伟概要在介绍StdExt的时候,我曾经提到,STL设计精良,但是以下几块仍然设计不 足(或缺失):allocator(内存管理)string(字符串处理/文本处理)parallel programming(并行编程)关于内存管理,我们已经说得很多了。这里我们重点谈的是字符串处理/文本 处理相关的问题。本篇是《字符...
使用DDE使应用程序可以添加新的程序组

使用DDE使应用程序可以添加新的程序组

使用DDE使应用程序可以添加新的程序组2010-05-25当应用程序安装完毕后,通常都会建立程序组,它们是怎么实现的呢?下面是一种使用DDE来添加新的程序组的例子。1.使用MFC新一项目PMGROUP(对话框形式),在对话框中添加三个Edit Box。2.使用Class Wizard,添加成员变量m_GroupName,m_ItemName,m_FileName,分别对应添加的三个Edit Box,它们将容纳输入的三个条目(组名,标记名,对应的文件名);3...
如何在VC代码中监听ArcEngine的COM事件

如何在VC代码中监听ArcEngine的COM事件

如何在VC代码中监听ArcEngine的COM事件2010-05-25在ArcEngine中,许多组件采用事件方式发送信息。比如,MapControl中有鼠标按下事件、鼠标移动等事件,IworkspaceEdit也有开始编辑、结束编辑等事件。有时候,我们需要知道这些事件的发生,以便在发生时候处理必要信息。那么,如何监听组件的事件呢?下面以监听编辑事件作为例子说明监听的处理方式。打开帮助,我们会看见如下代码:struct __declspec(uuid(&q...
<< 241 242 243 244 245 246 247 248 249 250 >>