高质量C++/C编程指南(第6章 函数设计) (转)
高质量C++/C编程指南(第6章 函数设计) (转)[@more@] 第6章 函数设计 函数是C++/C程序的基本功能单元,其重要性不言而喻。函数设计的细微缺点很容易导致该函数被错用,所以光使函数的功能正确是不够的。本章重点论述函数的接口设计和内部实现的一些规则。 函数接口的两个要素是参数和返回值。C语言中,函数的参数和返回值的传递方式有两种:值传递(pass by value)和指针传递(pass by pointer)。C++ 语言中多了引用传递(pass by reference)。由于引用传递的性质象指针传递,而使用方式却象值传递,初学者常常迷惑不解,容易
高质量C++/C编程指南(第9章 类的构造函数、析构函数与赋值函数) (转)
高质量C++/C编程指南(第9章 类的构造函数、析构函数与赋值函数) (转)[@more@] 第9章 类的构造函数、析构函数与赋值函数 构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。 每个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A产生四个缺省的函数,如 A(void); // 缺省的无参数构造
高质量C++/C编程指南(第8章 C++函数的高级特性) (转)
高质量C++/C编程指南(第8章 C++函数的高级特性) (转)[@more@] 第8章 C++函数的高级特性 对比于C语言的函数,C++增加了重载(overloaded)、内联(inline)、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。 重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用。本章将探究重载和内联的优点与局限性,说明什么情况下应该采用、不该采用以及要警惕错用。 8.1 函数重载的概念 8.1.1 重载的起源XML:namespace prefix
SQL SERVER 2000压力测试 (转)
SQL SERVER 2000压力测试 (转)[@more@]sql SERVER 2000压力测试XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> -- 大记录量,大信息容量 随着Microsoft的新一代关系数据库系统SQL SERVER 2000(以下简称SQL2K)的发布,业界纷纷瞄准了它的性能,尤其是针对于ORACLE 8的性能比较。在一系列的测试中,SQL2K的的确确没有辜负微软对它的期望,获得了相当不错的成绩,终于肩负起对抗Oracle,抢占高端数据库市场的使命。 在关系数据库的应用当中,当随着数量级或者容量级的数据急剧膨胀,很多数据库
高质量C++/C编程指南(第2章 程序的版式) (转)
高质量C++/C编程指南(第2章 程序的版式) (转)[@more@] 第2章 程序的版式 版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。 可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。请程序员们学习程序的“书法”,弥补大学计算机教育的漏洞,实在很有必要。 2.1 空行 空行起着分隔程序段落的作用。空行得体(不过多也不过少)将使程序的布局更加清晰。空行不会浪费
Delphi系列谈之:Delphi中的静态属性及静态方法的实现 (转)
Delphi系列谈之:Delphi中的静态属性及静态方法的实现 (转)[@more@] 在学习Delphi时常有些心得,在此写出来,供大家参考,如有错误或不妥之处还望指教. 使用过c++的人都知道在c++的类中有静态属性及静态方法,为程序设计带来很多方便.那么在Delphi中静态属性及静态方法是怎么实现的呢?请看下面的实例: unit Unit2; interface type TMyClass = Class public {静态过程:设置静态属性的值} class procedure SetStaticMemberValue(AString: string); {静态函数:读取静态属性的值} class func
高质量C++/C编程指南(第5章 常量) (转)
高质量C++/C编程指南(第5章 常量) (转)[@more@] 第5章 常量 常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 5.1 为什么需要常量 如果不使用常量,直接在程序中填写数字或字符串,将会有什么麻烦? (1) 程序的可读性(可理解性)变差。程序员自己会忘记那些数字或字符串是什么意思,用户则更加不知它们从何处来、表
Delphi 6 Web Services初步评估 (转)
Delphi 6 Web Services初步评估 (转)[@more@]Delphi 6 web Services初步评估XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 这是我刚到现在公司的时候(2001年8月份)所作的一份测试报告,现公布出来,希望能对大家有所帮助。因为当时d6刚刚发行,Web Service方面还存在一些问题,当前的update 1 for D6已经发布,主要就针对Web Service做了大量的修改,已经能与MS相关的Web Service兼容了。可能下面文章内提到的部分内容在Update1有所变动,在此说明! 2000年6月22日,整个IT行业期盼着一个令人向往的
高质量C++/C编程指南(第4章 表达式和基本语句) (转)
高质量C++/C编程指南(第4章 表达式和基本语句) (转)[@more@] 第4章 表达式和基本语句 读者可能怀疑:连if、for、while、goto、switch这样简单的东西也要探讨编程风格,是不是小题大做?XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 我真的发觉很多程序员用隐含错误的方式写表达式和基本语句,我自己也犯过类似的错误。 表达式和语句都属于C++/C的短语结构语法。它们看似简单,但使用时隐患比较多。本章归纳了正确使用表达式和语句的一些规则与建议。 4.1 运算符的优先级 C++/C语言
高质量C++/C编程指南(第3章 命名规则) (转)
高质量C++/C编程指南(第3章 命名规则) (转)[@more@] 第3章 命名规则 比较著名的命名规则当推microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”。例如所有的字符变量均以ch为前缀,若是指针变量则追加前缀p。如果一个变量由ppch开头,则表明它是指向字符指针的指针。XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> “匈牙利”法最大的缺点是烦琐,例如 int i, j, k; float x, y, z; 倘若
高质量C++/C编程指南(第1章 文件结构) (转)
高质量C++/C编程指南(第1章 文件结构) (转)[@more@] 第1章 文件结构 每个C++/C程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。 C++/C程序的头文件以“.h”为后缀,C程序的定义文件以“.c”为后缀,C++程序的定义文件通常以“.cpp”为后缀(也有一些系统以“.cc”或“.cxx”为后缀)。 1.1 版权和版本的声明 版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有: (1)版权信息。 (2)
自动编号的存储过程 (转)
自动编号的存储过程 (转)[@more@]CREATE PROCEDURE Get_BH @cL_MC char(20),@nL_Init Int AS begin Declare @nL_CD Numeric(2,0),@cL_LSH char(20),@cL_LX Char(1),@nL_CDT Int,@nL_CDM int Declare LSHB_cursor Cursor For select Cd,LSH,Lx From LSHB Where Mailto:MC=@cL_MC">MC=@cL_MC Open LSHB_cursor Fetch Next From LSHB_Cursor into @nL_CD,@cL_LSH,@cL_LX If @@FETCH_STATUS = 0 begin Select @nL_CDM=Len(RTrim(Convert(Char(10),@nL_Init))) If @cL_LX='1'&
高质量C++/C编程指南(前 言) (转)
高质量C++/C编程指南(前 言) (转)[@more@] 前 言 软件质量是被大多数程序员挂在嘴上而不是放在心上的东西! 除了完全外行和真正的编程高手外,初读本书,你最先的感受将是惊慌:“哇!我以前捏造的C++/C程序怎么会有那么多的毛病?”XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> 别难过,作者只不过比你早几年、多几次惊慌而已。 请花一两个小时认真阅读这本百页经书,你将会获益匪浅,这是前面N-1个读者的建议。 一、编程老手与高手的误区 &nbs
C++、Java/C#之比较 (转)
C++、Java/C#之比较 (转)[@more@] 一、关于跨平台问题。 这点我未深入研空,只谈谈我的感觉,我感觉Java/C#的跨平台实际上是个比较巧妙的骗局。因为它们的跨平台性还是要某个厂家或厂家联盟的支持,这种平台不过是通过在不同的“硬平台”基础之上设置一个接口统一的“软平台”,这梓表面上是跨越了“硬平台”,实际“软平台”的限制仍是无法跨越的;或若厂家未生产某一“硬平台”的“软平台”那这个“硬平台”你还上跨不上去的。真正的跨平台技术是互联上的“htm/XML”,这是目前任何厂家无法据为己有而又不得不遵守
SQL Server 2000 中清空 LOG 文件一法 (转)
SQL Server 2000 中清空 LOG 文件一法 (转)[@more@] 在使用 sql SERVER 时,数据库里的日志文件会越来越大,需要把它删除。 我先把这个数据库分离,在数据库上点右键 -> 所有任务 -> 分离数据库,分离之后,就可以把 Log 文件删除,同时也可以把数据进行备份。之后,就可以在所有任务里的附加数据库再把那个数据库添进来,SQL SERVER 会提示 LOG 文件不存在,问你是不是要新建一个,选是就行了,这样,LOG 文件就清空了。 这个方法只需几分钟的时间,但在这几分钟里,就不能访问这个数据库了,我觉得只适用于
使用Visual Basic访问数据库几个注意的问题 (转)
使用Visual Basic访问数据库几个注意的问题 (转)[@more@]使用Visual Basic访问数据库几个注意的问题作者:张嵘 Visual Basic 3.x For windows是一门开发Windows应用程序很好的一种语言,使用它能够开发出大型的应用系统。它具有访问各种数据库的功能。下面将谈谈用VB访问数据库应注意的几个问题。一、如何来访问数据库。VB访问数据库提供二种方法,其一是用数据控制,其二是使用对象来访问数据库。在这两种方法中,都涉及到数据库的属性:connect,databasename,exclusive,options,readonly,recordsoure。这些属性很多书上都有介绍,笔
SQL Server时间格式浅析 (转)
SQL Server时间格式浅析 (转)[@more@] XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> sql SERVER时间格式浅析 数据库中时间日期往往是一个很重要的数据。各个计算机上的时间往往不同,为了在数据库中插入统一的时间,如果是取当前时刻,最好直接从数据库服务器读取。比如有一个表名为tablename的表格,其中columnname字段是当前记录插入时的当前时间,则该插入语句应写为:insert into table name (columnname,…) values (GetDate(),…)。这样GetDate()函数将数据库服务器的当
ICMP 头部数据结构 (转)
ICMP 头部数据结构 (转)[@more@]ICMP 头://////////////////////////////////////////////////////////////////// // // //// ICMP 头部 //// 符合 rfc792 里标识的ICMP 头部 //// // // ////////////////////////////////////////////////////////////////////typedef struct _IcmpHeader{ BYTE IcmpType; file://报文类型 BYTE IcmpCode; file://报文类型进一步信息 USHORT IcmpChecksum; union file://根据不同的类型有不同
对论坛中有关数据类型转换的总结 (转)
对论坛中有关数据类型转换的总结 (转)[@more@]对论坛中有关数据类型转换的整理整理:Vision Deng 说明:本文纯粹是总结一下有关类型转换的贴子, 本人并未对所有方法都做测试,仅仅是为了给大家一个参考。 读者层次:初学 int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="程佩君";char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串 短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式
中国中小企业的CRM发展出路在何方 (转)
中国中小企业的CRM发展出路在何方 (转)[@more@]CRM既然是一个概念,接触新概念的必然是一些文化素质都比较高的人,但反观我们的中小企业,很多企业的管理、经营模式还停留在最初的状态,王文京推广会计电算化有十年了,可是我们的中小企业还有多少没有用到财务软件。 话说回来了,如果我们的企业每月的营业额只有几万元,我们的企业只是家里的亲戚朋友,我们需要软件吗?中国的整体素质还很落后,这又回到命律的问题上来了,如果我们的行为模式总不愿意改变,我们的对新新事物的接触就会少了,那么我们很可能在新的一轮发展面前束手无策。