易网时代-编程资源站
Welcome
首页
/
软件开发
/
C++
Island Hopper News范例及其它
2017-02-06
36
Island Hopper News范例及其它2010-01-23Abbey本文是Abbey倾情奉献给大家的编程资料,打包在一个文件中供大家下载:压缩包里包括:1.从 DBGrid 控件的帮助文件中整理出来的一个Word文档,是英文的。2.从MSDN中翻译的“Island Hopper News”范例的概览。...
高质量C++/C编程指南-第2章-程序的版式
2017-02-06
37
高质量C++/C编程指南-第2章-程序的版式2007-05-06林锐第2章 程序的版式 版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。 可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。请程序员们学习程序的“书法”,弥...
MMX指令集在C++中的使用
2017-02-06
47
MMX指令集在C++中的使用2010-01-23孙原上次在《关于内联汇编的几个技巧》一文中只是简单地介绍了如何在C++中使用内联汇编,这一次先对上一次的文章作一补充,然后介绍如何使用MMX指令。一、内联汇编的一般原则:1、自由使用通用寄存器;(EAX,EBX,ECX和EDX)2、其它寄存器利用堆栈保留,使用,最后恢复;一般的像下面这样:__asm{push ebppush esp……….//使用EBP和ESPpop...
高质量C++/C编程指南-第3章-命名规则(1)
2017-02-06
35
高质量C++/C编程指南-第3章-命名规则(1)2007-05-06林锐第3章 命名规则比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。 “匈牙利”法最大的缺点是烦琐,例如int i,...
编写一个STL中的CString类
2017-02-06
37
编写一个STL中的CString类2010-01-23徐岩柏STL英文是Standard Template Library,也就是我们常说的C++标准模板库,。该标准库于1998年被正式纳入C++标准,给全世界的C++程序员带来了福音。最让我们兴奋的应该是它的跨平台性,使得你在WINDOW,UNIX ,LINUX等操作系统上面用标准C++编写的程序不用修改即可移植。(当然要有C++的编译器)。现在的编译器虽然对标准C++支持程度不同,单总体上还是很好。WI...
高质量C++/C编程指南-第3章-命名规则(2)
2017-02-06
42
高质量C++/C编程指南-第3章-命名规则(2)2007-05-06林锐l 【规则3-1-8】用正确的反义词组命名具有互斥意义的变量或相反动作的函数等。例如:int minValue;int maxValue;int SetValue(…);int GetValue(…);2 【建议3-1-1】尽量避免名字中出现数字编号,如Value1,Value2等,除非逻辑上的确需要编号。这是为了防止程序员偷懒,不肯为命名动脑筋而导致产生无...
捕获数学函数异常
2017-02-06
38
捕获数学函数异常2010-01-23周云才假如我们要用一个数学函数,比如反正弦函数asin(x),如果变元x的值是由用户提供或某个中间结果,则在调用时必须判断其取值范围是合理,是否满|x|<=1?即if(fabs(x)<=1) y=asin(x);else y=…对数函数也可作类似的处理。但是如果遇到幂函数pow(x,y)时,问题就不那么简单了。仔细分析将发现:yx负小数负整数0整数小数负小数无意义有意义有意义有意义无意义负整...
高质量C++/C编程指南-第4章-表达式和基本语句
2017-02-06
44
高质量C++/C编程指南-第4章-表达式和基本语句2007-05-06林锐读者可能怀疑:连if、for、while、goto、switch这样简单的东西也要探讨编程风格,是不是小题大做?我真的发觉很多程序员用隐含错误的方式写表达式和基本语句,我自己也犯过类似的错误。表达式和语句都属于C++/C的短语结构语法。它们看似简单,但使用时隐患比较多。本章归纳了正确使用表达式和语句的一些规则与建议。4.1 运算符的优先级C++/C语言的运算符有数十个,运算符的优先级...
介绍一个专门处理C++异常的类
2017-02-06
36
介绍一个专门处理C++异常的类2010-01-23PJ Naughter简介:CExceptionLogger,是一个可以免费使用的C++类,用它可以截获未处理异常,如:非法存取、栈溢出、被零除等,并可以将异常详细信息记录到日志文件。这个类源自于MSDN Magazine 2002年3月的一篇专栏文章“Under the Hood: Improved Error Reporting with DBGHELP 5.1”,该文章的作者是...
高质量C++/C编程指南-第5章-常量
2017-02-06
40
高质量C++/C编程指南-第5章-常量2007-05-06林锐常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。 5.1 为什么需要常量 如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦?(1) 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表示什么。(2) 在...
可用于数论计算的无符号大整数类
2017-02-06
38
可用于数论计算的无符号大整数类2010-01-23缪元虎前些日子,无意中访问到三思科学网,里面介绍了许多数论问题,这也是我儿时的爱好,于是就利用空闲时间编写了一个用于数论计算的无符号大整数类。一、类的基本结构Class CUSuperInt{public://构造及析构函数CUSuperInt();CUSuperInt(DWORD dwValue);CUSuperInt(char* pszVal);CUSuperInt(CUSuperInt& x)...
高质量C++/C编程指南-第6章-函数设计(1)
2017-02-06
36
高质量C++/C编程指南-第6章-函数设计(1)2007-05-06林锐函数是C++/C程序的基本功能单元,其重要性不言而喻。函数设计的细微缺点很容易导致该函数被错用,所以光使函数的功能正确是不够的。本章重点论述函数的接口设计和内部实现的一些规则。 函数接口的两个要素是参数和返回值。C语言中,函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer)。C++ 语言中多了引用传递(pass by re...
马走日棋盘算法
2017-02-06
39
马走日棋盘算法2010-01-23哈达问题描述在给定大小的方格状棋盘上, 将棋子”马”放在指定的起始位置 , 棋子”马” 的走子的规则为必须在棋盘上走”日”字; 从棋子”马”的起始位置开始, 搜索出一条可行的路径, 使得棋子”马”能走遍棋盘上的所有落子点, 而且每个落子点只能走一次;例如: 棋盘大小为5*5 , 棋子马放的起始落子点为 (...
使非MFC窗口程序的窗口回调过程成为C++类的成员函数
2017-02-06
35
使非MFC窗口程序的窗口回调过程成为C++类的成员函数2010-01-23luzhl一直以来,编写非MFC下的窗口程序,都习惯把窗口过程及消息处理函数编写成全局函数。为了把窗口回调过程及窗口消息处理函数封装成C++窗口类的成员函数,于是我编写了抽象类CWndProc:一、头文件//wndpro.h#ifndef __WNDPROC_H__#define __WNDPROC_H__class CWndProc{protected://保护的构造函数,必须由派...
高质量C++/C编程指南-第6章-函数设计(2)
2017-02-06
43
高质量C++/C编程指南-第6章-函数设计(2)2007-05-06林锐由于c是char类型,取值范围是[-128,127],如果宏EOF的值在char的取值范围之外,那么if语句将总是失败,这种“危险”人们一般哪里料得到!导致本例错误的责任并不在用户,是函数getchar误导了使用者。l 【规则6-2-3】不要将正常值和错误标志混在一起返回。正常值用输出参数获得,而错误标志用return语句返回。回顾上例,C标准库函数的设计者为什...
一个小语言的词法分析程序
2017-02-06
41
一个小语言的词法分析程序2010-01-24 VC知识库 loyalzu前些天写了个小语言的词法分析程序,因为前些天在VC知识库看到一个pascal词法分析的程序,觉得写得挺复杂的。其实词法分析程序的原理都是一样的,所以我想只要搞明白了简单的词法分析程序,再写复杂的就不难了,无非是多加几个关键字,多写几个条件判断语句而已。词法分析是编译程序的基础,也是最简单的。好,现在让我们看程序吧。先让我们看看这个小语言的文法吧。G[<程序>]:<程序...
高质量C++/C编程指南-第6章-函数设计(3)
2017-02-06
39
高质量C++/C编程指南-第6章-函数设计(3)2007-05-06林锐对于相加函数,应当用“值传递”的方式返回String对象。如果改用“引用传递”,那么函数返回值是一个指向局部对象temp的“引用”。由于temp在函数结束时被自动销毁,将导致返回的“引用”无效。例如:c = a + b; 此时 a + b 并不返回期望值,c什么也得不到,流下了隐患。6.3 ...
在C++中实现属性
2017-02-06
35
在C++中实现属性2010-01-24虞振祥开发测试环境:Visual C++ 7.0, Windows XP sp1, Windows 2000 sp3摘要本文试着在C++中不使用任何扩展技术模拟C#(或其他语言)中的属性特征。大多数在C++实现属性的库和编译器使用扩展技术,如Managed C++或C++ Builder,或者他们使用如通常函数的set和get方法,但那不是属性。详述我们首先看一下什么是属性。一个属性表现为一个字段或者成员变量,但它通过...
高质量C++/C编程指南-第7章-内存管理(1)
2017-02-06
38
高质量C++/C编程指南-第7章-内存管理(1)2007-05-06林锐欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。7.1...
在WTL中使用MD5加密法
2017-02-06
39
在WTL中使用MD5加密法2010-01-24 VC知识库 聂华闻不记得在哪个地方得到了一个MD5加密法的类,由于开发的原因要在WTL中使用MD5加密法,但是,这个类并不能直接的用在WTL中(In MFC it was an easy job ),所以我就修改了一下,并写出此文,以方便大家以后在WTL中使用MD5加密法。不过,小弟水平有限,有错漏地方,望各位哥姐包涵。程序的运行界面如下:First of all :在你的VC编译器中配置WTL(Copy 一...
<<
11
12
13
14
15
16
17
18
19
20
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图