摘要: C++语言的创建初衷是“a betterC”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同.作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数.但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同. 2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构? ... 阅读全文
posted @ 2009-04-30 10:03 小 楼 一 夜 听 春 雨 阅读(226) 评论(0) 推荐(0)
摘要: 下面的这些要点是对所有的C++程序员都适用的。我之所以说它们是最重要的,是因为这些要点中提到的是你通常在C++书中或网站上无法找到的。如:指向成员的指针,这是许多资料中都不愿提到的地方,也是经常出错的地方,甚至是对一些高级的C++程序员也是如此。 这里的要点不仅仅是解释怎样写出更好的代码,更多的是展现出语言规则里面的东西。很显然,它们对C++程序员来说是永久的好资料。我相信这一篇文章会使你收获不小。 首先,我把一些由不同层次的C++程序员经常问的问题归到一起。我惊奇的发现有很多是有经验的程序员都还没意识到 .h 符号是否还应该出现在标准头文件中。要点1: <iostream.h> 阅读全文
posted @ 2009-04-29 08:34 小 楼 一 夜 听 春 雨 阅读(227) 评论(0) 推荐(0)
摘要: 内存管理:1. 坚持谁分配谁释放的原则, 某个类分配的内存应该由这个类来释放(主动或者被动的)。动态连接库分配的内存更应该如此。2. new/delete new[]/delete[] malloc/free必须要严格配对。比如千万不要用free去释放由new分配的内存。3. 不要把STL容器作为参数在动态库之间传来传去,因为你很难保证内存分配和释放的地方是一致的.4. 不要把模板对象作为参数在动态库之间传来传去,因为你很也难保证内存分配和释放的地方是一致的. 甚至很难保证代码是一致的.5. delete一个对象的时候,要保证其它引用到这个对象的地方都知道这个对象被delete掉了. 因此最好 阅读全文
posted @ 2009-03-22 21:13 小 楼 一 夜 听 春 雨 阅读(250) 评论(0) 推荐(0)
摘要: 32位计算机中的位数指的是CPU一次能处理的最大位数。32位计算机的CPU一次最多能处理32位数据,例如它的EAX寄存器就是32位的,当然32位计算机通常也可以处理16位和8位数据。在Intel由16位的286升级到386的时候,为了和16位系统兼容,它先推出的是386SX,这种CPU内部预算为32位,外部数据传输为16位。直到386DX以后,所有的CPU在内部和外部都是32位的了。bit位二进制数系统中,每个0或1就是一个位(bit),位是内存的最小单位。byte字节字节是由8个位所组成,可代表一个字符(A~Z)、数字(0~9)、或符号(,.?!%&+-*/),是内存储存数据的基本单 阅读全文
posted @ 2009-03-20 19:10 小 楼 一 夜 听 春 雨 阅读(276) 评论(0) 推荐(0)
摘要: 1.句型:我们似乎碰到一些状况。 妙处:以最婉约的方式传递坏消息。 如果立刻冲到上司的办公室里报告这个坏消息,就算不干你的事,也只会让上司质疑你处理危机的能力。此时,你应该不带情绪起伏的声调,从容不迫地说出本句型,要让上司觉得事情并非无法解决,而我们听起来像是你将与上司站在同一阵线,并肩作战。 2.句型:我马上处理。 妙处:上司传唤时责无旁贷 冷静,迅速地做出这样的回答,会令上司直觉地认为你是名有效率的好部属;相反,犹豫不决的态度只会惹得责任本就繁重的上司不快。 3.句型:安琪的主意真不错。 妙处:表现出团队精神 安琪想出了一条让上司都赞赏的绝妙好计,你恨不得你的脑筋动得比人家... 阅读全文
posted @ 2009-03-16 09:52 小 楼 一 夜 听 春 雨 阅读(254) 评论(0) 推荐(0)
摘要: CString is based on the TCHAR data type. If the symbol _UNICODE is defined for your program, TCHAR is defined as type wchar_t, a 16-bit character type; otherwise, it is defined as char, the normal 8-bit character type. Under Unicode, then, CString objects are composed of 16-bit characters. Without U 阅读全文
posted @ 2009-03-13 15:12 小 楼 一 夜 听 春 雨 阅读(614) 评论(0) 推荐(0)
摘要: 61条面向对象设计的经验原则摘抄自《OOD 启示录》--Arthur J.Riel(1)所有数据都应该隐藏在所在的类的内部。p13(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。p15(3)尽量减少类的协议中的消息。p16(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。 p16(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。p17如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。(6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。p17(7)类之 阅读全文
posted @ 2009-03-12 09:46 小 楼 一 夜 听 春 雨 阅读(249) 评论(0) 推荐(0)
摘要: 先来看个程序#include <stdio.h>void main( void ){ char buffer[200], s[] = "computer", c = 'l'; int i = 35, j = 0; float fp = 1.7320534f; j = sprintf( buffer, "String:%s/n", s); cout<<j<<endl; // j = 16 cout<<buffer<<endl; j += sprintf( buffer + j, & 阅读全文
posted @ 2009-03-09 10:19 小 楼 一 夜 听 春 雨 阅读(797) 评论(0) 推荐(0)
摘要: #include <iostream>using namespace std;// 定义了一种函数指针类型callBacktypedef int (*callBack)(int, int); int myTest(int a, int b){ cout<<a<<"/t"<<b<<endl; return 0;}void TestCallBack(callBack my){ int a = 1; int b = 1; if(my != NULL) my(a,b); return;}int main(){ callBa 阅读全文
posted @ 2009-03-08 16:09 小 楼 一 夜 听 春 雨 阅读(144) 评论(0) 推荐(0)
摘要: #include <iostream>using namespace std;typedef struct _List_my{ int index; struct _List_my *next; _List_my(int i):index(i), next(NULL){} _List_my():ne 阅读全文
posted @ 2009-03-07 19:00 小 楼 一 夜 听 春 雨 阅读(393) 评论(0) 推荐(0)