易网时代-编程资源站
Welcome
首页
/
软件开发
/
C++
C++语言学习之从结构到类
2017-02-06
37
C++语言学习之从结构到类2008-01-05 csdn 编程之前,有必要复习一下C++中面向对象的一些基本概念。我们知道,C++与C相比有许多优点,主要体现在封装性(Encapsulation)、继承性(Inheritance)和多态性(Polymorphism)。封装性把数据与操作数据的函数组织在一起,不仅使程序结构更加紧凑,并且提高了类内部数据的安全性;继承性增加了软件的可扩充性及代码重用性;多态性使设计人员在设计程序时可以对问题进行更好的抽象,有利...
使用 <map> 库创建关联容器
2017-02-06
36
使用 <map> 库创建关联容器2010-11-02 MTT工作室 Danny Kalev摘要:当索引是整型,那么将值与之关联并不难,但如果数据的关联值对是其它数据类型怎么办呢?<map>库具备一个关联容器,使用它可以很方便地关联所有类型的数据对。本文将讨论 <map> 库的使用方法和技巧。关系数据库,科学计算应用以及基于Web的系统常常需要类似 vector 的容器,其索引可以是如何数据类型,不一定是整数。这样的容器叫...
C/C++中利用空指针简化代码提高效率
2017-02-06
36
C/C++中利用空指针简化代码提高效率2008-01-05 PConline 管宁这里的写法,可以避免使用 for 循环,减少栈空间内存的使用和减少运行时的计算开销!#include <iostream>#include <string>using namespace std;void print_char(char* array[]);//函数原形声明void main(void){char* test[]={"abc&...
使用CInternetSession封装多线程http文件下载
2017-02-06
37
使用CInternetSession封装多线程http文件下载2010-11-02 crazy-bit 付黎如何下载一个http文件?我们当然可以用socket自己实现http协议去做,但费时费力还易出bug,对于一个客户端程序稳定易维护是第一位的,所幸MS给我们提供了功能强大的internet API函数族,MFC的CInternetSession对它们进行了一些简单的封装,但如此简单的封装对我等拿来主义者来说只是个半成品。必须经过再加工才能食用。先来介...
实现文件加密功能
2017-02-06
34
实现文件加密功能2010-11-02 vckbase 林静我前几天在VC知识库(VCKBASE.COM)下载了一个 "徐景周" 做的一个叫<加密之星>的小工具的源代码,我把它编译后拿文件来实验一下发现它对大多数文件都不管用.比如,加密文本文件只有文件的前一部分被加密而大部分还完整的存在, 如果用来加密mp3,简直就不起作用,加密后的mp3还是能很好的从头播放的尾..所以我自己发明了一种文件加密的方法,虽然很简单,但是能安全地...
C++递增(增量)运算符重载的思考
2017-02-06
36
C++递增(增量)运算符重载的思考2008-01-05 PConline 管宁在前面的章节中我们已经接触过递增运算符的重载,那时候我们并没有区分前递增与后递增的差别,在通常情况下我们是分别不出++a与a++的差别的,但的确他们直接是存在明显差别的。先看如下代码:#include <iostream>using namespace std;int main(){int a=0; ++(++a);//正确,(++a)返回的是左值 (a++)++;/...
如何简化临时内存的分配与释放
2017-02-06
39
如何简化临时内存的分配与释放2008-04-04描述:在编制 C++ 程序时,最常遇到的一个令人恼火的问题便是临时资源的分配与释放问题, 由于程序的逻辑关系通常很复杂,引发异常的可能性也很多,为了妥善处理运行时异常, 我们不得不在可能引发异常的任何地方释放已分配成功的临时资源,然后返回, 以保证程序的健壮稳定及系统的清洁,所以程序中可能随处可见delete、free等语句, 显得很繁! 那么有没有办法使得只顾分配、使用临时资源,而不顾其后事如何呢?在Del...
如何获取其它进程中窗口的窗口过程
2017-02-06
37
如何获取其它进程中窗口的窗口过程2010-11-02耿海增开发环境: Windows XP + VC6+Platform SDK 或者 VS.NET 2003+测试环境: Windows XP曾经以为获取一个窗口的窗口过程很简单,不就是GetWindowLong一下吗,看spyxx获取的多么顺利。后来才发现原来不是这么简单。获取本进程内窗口的窗口过程确实很简单,直接调用GetWindowLong(hWnd,GWL_WNDPROC)就可以了(注意,根据窗口是...
掌握C++ builder的除错艺术(1)
2017-02-06
32
掌握C++ builder的除错艺术(1)2008-04-04第一篇-正确书写代码1.简介2.书写干净的代码3.使用异常及异常处理能力4.使用记录(logging)机制5.结合使用记录机制与类的异常处理机制6.处理您代码外产生的异常7.你的回合8.版权说明简介这篇文章,我将从最基本的开始谈起。但希望可以涉及更广的层面,而不仅仅是为你的程序除错(debug)。你将会看到,我认为除错(debugging)这个字的全部意义,并不只是通过ide的内建机制来运行的。...
任意分布的随机数的产生方法—VC程序实现方法
2017-02-06
39
任意分布的随机数的产生方法—VC程序实现方法2010-11-02 vckbase 戎亚新摘要:随机数在实际运用中非常之多,如游戏设计,信号处理,通常我们很容易得到平均分布的随机数。但如何根据平均分布的随机数进而产生其它分布的随机数呢?本文提出了一种基于几何直观面积的方法,以正态分布随机数的产生为例讨论了任意分布的随机数的产生方法。正文:一、平均分布随机数的产生大家都知道,随机数在各个方面都有很大的作用,在vc的环境下,为我们提供了库函数rand()来产生一...
掌握C++ builder的除错艺术(2).2
2017-02-06
32
掌握C++ builder的除错艺术(2).22008-04-04第二篇-近距离观察(2)使用evaluate/modify(求值/修改)最后一种显示变量或代码块的值的途径是evaluate/modify(求值/修改)窗口。这个窗口可以象打开巡视器一样打开,在您要evaluate/modify(求值/修改)的代码行上右击选择"debug|evaluate/modify"就会弹出evaluate/modify(求值/修改)窗口。本窗口用来...
可定制大小和数量的随机数函数
2017-02-06
37
可定制大小和数量的随机数函数2010-11-02袁海鸿近日在做一个考试软件时,需要每次题目不同且题数可定制,在C++没找到适用函数,就顺手做了一个较通用的C++的随机函数扩展,请大家编程时参考。void randEx(int MAX,int NUM){ int k=0; int j=0; time_t t; //设置rand函数所用的启始种子值,以期每次产生的随机数序列均不相同。 srand((unsigned) time(&t)); ...
掌握C++ builder的除错艺术(2).1
2017-02-06
30
掌握C++ builder的除错艺术(2).12008-04-04第二篇-近距离观察(1)1.调试可执行程序前的准备2.工程选项3.设置断点并闯入可执行程序4.察看储存在变量中的值5.使用Watches(观察)6.使用Inspectors(巡视器)7.使用Evaluate/Modify(求值/修改)8.Stepping Through, Over and Around Blocks of Code9.Stepping的类型10.Stepping的注解11....
程序实现多国语言的动态切换解决方案
2017-02-06
31
程序实现多国语言的动态切换解决方案2010-11-02耿海增实现思想:传统的做法是把所有的资源都放到动态库中,一种语言一个动态库,程序运行的时候通过加载不同的动态库来实现多语言功能。这样做的缺点是不能动态切换语言,如果更换语言后必须重新启动软件。当然,没有人会需要经常的切换语言玩儿,但是采用动态库的方法,如果程序需要修改资源的话,就要更新所有的动态库,这是一个非常枯燥而且容易出现疏漏的工作。我的方法是把所有用到的字符串都放到文件中,一种语言一个文件,根据选...
计算机编程的24条法则
2017-02-06
34
计算机编程的24条法则2008-04-041、致命的异常终止决不允许2、以这个次序编写:用户手册、说明书、帮助、源代码3、除非你使用Risk Factor Analysis (RFA),否则一个程序将花费双倍你认为开发所需的时间---重复工作4、编码工作量应该不超过开发工作的百分之二十5、测试应该至少占工程的百分之三十6、注释应该至少要占源代码的百分之二十7、一条错误信息应该报告什么发生了,关于这个用户能够作什么,程序下一步要做什么,以及哪一行代码造成了该...
导入表内注入代码(一)
2017-02-06
35
导入表内注入代码(一)2010-11-02小刀人(包括:itview.zip (87.1 KB) pemaker6.zip (96.6 KB) pemaker7.zip (193 KB)zimport.zip (130 KB)。译注:本文代码可在VS2003及WINDOWSXP+sp2下正常运行,Windows2000下ITview功能有异常。)本文介绍注入代码到PE(Portable Executable可移植的执行体)文件格式的Import Table...
霍夫曼树编码的实现
2017-02-06
33
霍夫曼树编码的实现2008-04-04#include <stdio.h>#include <stdlib.h>#include <string.h>#include <conio.h>typedef struct{ unsigned int Weight; unsigned int Parent; unsigned int lChild; unsigned int rChild;}HTNod...
导入表内注入代码(二)
2017-02-06
31
导入表内注入代码(二)2010-11-02小刀人你称之为什么?这次我想用这个技术改变一个API的功能。我不能确定是否我们可以再称之为API redirection。在这个例子中,我重定向CALC.EXE的ShellAbout()对话框到我的"Hello World!"消息框(在pemaker7.zip中)。你将看到用前述代码并做很少的改动就可以多么容易地实现它。...//=================================...
C++的类和类的定义
2017-02-06
36
C++的类和类的定义2008-04-04在面向对象的程序设计中,有经常接触类、对象等专业名词;到底什么是类、什么是对象呢?在程序又是怎样运用呢?类是面向对象程序设计的核心,它实际是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型。类是对某一类对象的抽象;而对象是某一种类的实例,因此,类和对象是密切相关的。没有脱离对象的类,也没有不依赖于类的对象。什么是类类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关...
DLL初学者指南(非MFC)
2017-02-06
37
DLL初学者指南(非MFC)2010-11-02小刀人环境:Visual C++ 2003, Windows源代码: DLL Project的源代码及测试项目我正在学习DLLs,谈不上对其有什么高屋建瓴的见解;本文只是(通过)编码让你看到并想知道代码是如何运行的。在本文中,我假定你知道如何使用你的编译器特性,比如设置目录路径等等。为了建立项目,请选择Win32 控制台项目(Win32 Console Application),并且在应用程序设置标签(the...
<<
71
72
73
74
75
76
77
78
79
80
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图