易网时代-编程资源站
Welcome
首页
/
软件开发
/
C++
C/C++中利用空指针简化代码提高效率
2016-07-27
22
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&...
C++递增(增量)运算符重载的思考
2016-07-27
24
C++递增(增量)运算符重载的思考2008-01-05 PConline 管宁在前面的章节中我们已经接触过递增运算符的重载,那时候我们并没有区分前递增与后递增的差别,在通常情况下我们是分别不出++a与a++的差别的,但的确他们直接是存在明显差别的。先看如下代码:#include <iostream>using namespace std;int main(){int a=0; ++(++a);//正确,(++a)返回的是左值 (a++)++;/...
如何简化临时内存的分配与释放
2016-07-27
20
如何简化临时内存的分配与释放2008-04-04描述:在编制 C++ 程序时,最常遇到的一个令人恼火的问题便是临时资源的分配与释放问题, 由于程序的逻辑关系通常很复杂,引发异常的可能性也很多,为了妥善处理运行时异常, 我们不得不在可能引发异常的任何地方释放已分配成功的临时资源,然后返回, 以保证程序的健壮稳定及系统的清洁,所以程序中可能随处可见delete、free等语句, 显得很繁! 那么有没有办法使得只顾分配、使用临时资源,而不顾其后事如何呢?在Del...
掌握C++ builder的除错艺术(1)
2016-07-27
20
掌握C++ builder的除错艺术(1)2008-04-04第一篇-正确书写代码1.简介2.书写干净的代码3.使用异常及异常处理能力4.使用记录(logging)机制5.结合使用记录机制与类的异常处理机制6.处理您代码外产生的异常7.你的回合8.版权说明简介这篇文章,我将从最基本的开始谈起。但希望可以涉及更广的层面,而不仅仅是为你的程序除错(debug)。你将会看到,我认为除错(debugging)这个字的全部意义,并不只是通过ide的内建机制来运行的。...
掌握C++ builder的除错艺术(2).2
2016-07-27
22
掌握C++ builder的除错艺术(2).22008-04-04第二篇-近距离观察(2)使用evaluate/modify(求值/修改)最后一种显示变量或代码块的值的途径是evaluate/modify(求值/修改)窗口。这个窗口可以象打开巡视器一样打开,在您要evaluate/modify(求值/修改)的代码行上右击选择"debug|evaluate/modify"就会弹出evaluate/modify(求值/修改)窗口。本窗口用来...
掌握C++ builder的除错艺术(2).1
2016-07-27
19
掌握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....
计算机编程的24条法则
2016-07-27
20
计算机编程的24条法则2008-04-041、致命的异常终止决不允许2、以这个次序编写:用户手册、说明书、帮助、源代码3、除非你使用Risk Factor Analysis (RFA),否则一个程序将花费双倍你认为开发所需的时间---重复工作4、编码工作量应该不超过开发工作的百分之二十5、测试应该至少占工程的百分之三十6、注释应该至少要占源代码的百分之二十7、一条错误信息应该报告什么发生了,关于这个用户能够作什么,程序下一步要做什么,以及哪一行代码造成了该...
霍夫曼树编码的实现
2016-07-27
22
霍夫曼树编码的实现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...
C++的类和类的定义
2016-07-27
17
C++的类和类的定义2008-04-04在面向对象的程序设计中,有经常接触类、对象等专业名词;到底什么是类、什么是对象呢?在程序又是怎样运用呢?类是面向对象程序设计的核心,它实际是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型。类是对某一类对象的抽象;而对象是某一种类的实例,因此,类和对象是密切相关的。没有脱离对象的类,也没有不依赖于类的对象。什么是类类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关...
C++的算符重载
2016-07-27
28
C++的算符重载2008-04-04算符重载的作用是什么?它允许你为类的用户提供一个直觉的接口。 算符重载允许C/C++的运算符在用户定义类型(类)上拥有一个用户定义的意义。重载的算符是函数调用的语法修饰: class Fred { public: // …};#if 0 // 没有算符重载:Fred add(Fred, Fred);Fred mul(Fred, Fred);Fred f(Fred a, Fred...
二叉树实现源代码
2016-07-27
19
二叉树实现源代码2008-04-04二叉树实现源代码如下:#include <conio.h>#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define OVERFLOW -2typedef int status;typedef struct BiNode{ char Data;...
排序算法比较程序
2016-07-27
19
排序算法比较程序2008-04-04功能要求如下:排序算法比较: shellsort, quicksort, heapsort, mergesort 的算法实现 ,对同样数据集的排序时间比较。源代码:# include <stdio.h># include <time.h># define MAXSIZE 2000typedef struct{ int key[MAXSIZE]; int length;}list;long in...
浅谈C++函数的参数
2016-07-27
21
浅谈C++函数的参数2008-04-04函数参数的求值顺序当一个函数带有多个参数时,C++语言没有规定在函数调用时实参的求值顺序。而编译器根据对代码进行优化的需要自行规定对实参的求值顺序。有的编译器规定自左至右,有的编译器规定自右至左,这种对求值顺序的不同规定,对一般参数来讲没有影响。但是,如果实参表达式中带有副作用的运算符时,就有可能产生由于求值顺序不同而造成了二义性。例如:intz = add_int(++x,x+y);,这样,在不同的编译器就有可能生...
BCB日常使用小集锦
2016-07-27
20
BCB日常使用小集锦2008-04-04如有疑问,请联系 xuchao@orient-it.com以下为我的日常笔记,整理出来,供大家分享。1、BCB 编辑快捷键左/右移 块代码选中 块代码1 CTRL+ SHIFT+ I 是整片往右移,2 CTRL+ SHIFT+ U 是整片文字往左移2、得到执行程序的当前路径ExtractFileDir(Application->ExeName);3、循环中响应其它操作在循环内加入Application->...
TList
2016-07-27
23
TList2008-04-04TList包含对象指针列表。类关系 TObjectTlist用于存储和维护对象列表。TList引入属隆和方法以执行以下操作:(1)在列表中增加或删除对象。(2)在列表中重排对象。(3)在列表中定位和获得对象。(4)在列表中对对象进行排序。属性列表Capacity 标识TList对象维护的指针数组的大小。Count 表明在列表中使用的项的数量。Items 列出对象的引用。List 标识组成Items的指针数组。方法列表~TLis...
匈牙利命名法
2016-07-27
22
匈牙利命名法2008-04-04这个方法可能很多人都听说过,包括我在内的一些人也试图去使用它,可是还是觉得自己的好,但是现在看来这种想法是错误的。再解释解释吧。这些符号可以多个同时使用,顺序是先m_,(这上标记指成员变量)再指针,再简单数据类型,再其他。例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。a Arrayb Booleanby Bytec Char //有符号型字符cb Char Byte //无符号型字符(没多大用...
C++语言基础(1)
2016-07-27
71
C++语言基础(1)2008-04-04入门简介变量 C++数据类型 C++操作符 C++中的函数 main函数 数组 字符串数组 字符串操作函数C++是个强大的语言,可以用于做别的语言做不了的工作。但是,这种强大功能是有代价的。开始使用C++时,你可能会遇到内存溢出和访问失效等问题,使程序死机。这里用最简短的篇幅介绍C++语言基础。C++语言本身有专著介绍,这种书还特别厚,所以别指望我能用三言两语说清楚。读者学完本书并使用C++ Builder一般时间之...
C++语言基础(2)
2016-07-27
24
C++语言基础(2)2008-04-04if语句if语句用于测试条件并在条件为真时执行一桌或几条语句。说明:if表达式后面不能带分号,否则它本身表示代码中的空语句,使编译器将空语句解释为在条件为真时执行的语句。if (x == 10); // Warning! Extra semicolon!DoSomething(x);这里DoSomething()函数总会执行,因为编译器不把它看成在条件为真时执行的第一条语句。由于这个代码完全合法(但无用),所以编译器...
String类的一些赋值语句
2016-07-27
20
String类的一些赋值语句2008-04-04AnsiString -> char AnsiString.c_str();char -> AnsiString AnsiString=AnsiString(char);BSTR -> char* char* char1=AnsiString(bstr).c_str();wchar_t -> ansistring ansistring(wchar_t)ansistring -> ...
TThread
2016-07-27
22
TThread2008-04-04TThread是一个抽象类,可以创建几个独立的线程。类关系 TObject在一个多线程的应用程序中创建一个TThread的后子类代表一个线程。每一新子类的TThread对象的实例是一个新的线程。从TThread派生的多线程实例可以构成Delphi的多线程应用程序。当一个应用程序运行时,应用程序就被载入内存准备执行。此时,它成为包含一个或多个线程的进程,每个线程含有数据、代码和系统资源。线程执行应用程序的部分内容,并由系统分...
<<
181
182
183
184
185
186
187
188
189
190
>>
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图