C++博客 :: 首页 :: 联系 ::  :: 管理
  163 Posts :: 4 Stories :: 350 Comments :: 0 Trackbacks

常用链接

留言簿(48)

我参与的团队

搜索

  •  

积分与排名

  • 积分 - 388232
  • 排名 - 55

最新评论

阅读排行榜

评论排行榜

C++

     摘要: c++语言标准关于这个问题的阐述非常清楚:当通过基类的指针去删除派生类的对象,而基类又没有虚析构函数时,结果将是不可确定的。  阅读全文
posted @ 2008-01-22 11:39 sdfasdf 阅读(8564) | 评论 (4)  编辑

     摘要: 我们知道,对一个对象的所有成员来说,它们的析构函数被调用的顺序总是和它们在构造函数里被创建的顺序相反。那么,如果允许上面的情况(即,成员按它们在初始化列表上出现的顺序被初始化)发生,编译器就要为每一个对象跟踪其成员初始化的顺序,以保证它们的析构函数以正确的顺序被调用。这会带来昂贵的开销。所以,为了避免这一开销,同一种类型的所有对象在创建(构造)和摧毁(析构)过程中对成员的处理顺序都是相同的,而不管成员在初始化列表中的顺序如何。  阅读全文
posted @ 2008-01-22 10:46 sdfasdf 阅读(6172) | 评论 (1)  编辑

     摘要: 把为类的成员变量赋值的工作尽量在构造函数的初始化列表中,而不是放在构造函数内部进行。这两种方法的差别主要是效率的差别,放在初始化表中,只有只有一个拷贝构造函数调用,而放在构造函数内部有构造函数和赋值函数两个函数调用。  阅读全文
posted @ 2008-01-22 10:26 sdfasdf 阅读(2309) | 评论 (0)  编辑

     摘要: C++编译器会为每个类自动生成一个默认的构造函数、析构函数、赋值函数、拷贝构造函数,这当然是在你没有为你的类声明这些函数的时候。这些默认的功能函数在为你提供方便的时候,也会给你带来麻烦。  阅读全文
posted @ 2008-01-21 16:38 sdfasdf 阅读(3829) | 评论 (0)  编辑

     摘要: C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。  阅读全文
posted @ 2008-01-20 10:58 sdfasdf 阅读(41274) | 评论 (58)  编辑

     摘要: 自己重写operator new时,很重要的一点是函数提供的行为要和系统缺省的operator new一致。实际做起来也就是:要有正确的返回值;可用内存不够时要调用出错处理函数;处理好0字节内存请求的情况。此外,还要避免不小心隐藏了标准形式的new。   阅读全文
posted @ 2008-01-18 21:24 sdfasdf 阅读(3582) | 评论 (0)  编辑

     摘要: 对于像 string *stringarray = new string[100]; 这样的语句,释放指针时不能象 delete stringarray 这样写,因为这样写的话,只是销毁了第一个string对象的指针,其余的99个根本没有被销毁,这种情况极易引起内存泄露。  阅读全文
posted @ 2008-01-18 17:08 sdfasdf 阅读(1514) | 评论 (0)  编辑

     摘要: 内存的三种分配方式:静态存储区分配,栈上分配,堆上分配。

内存使用常见错误:

(1)内存分配不成功,却使用它。对策:使用前检查内存是否为NULL。  阅读全文
posted @ 2008-01-18 14:40 sdfasdf 阅读(4131) | 评论 (7)  编辑

     摘要: 在c++程序里使用malloc和free没有错,只要保证用malloc得到的指针用free,或者用new得到的指针最后用delete来操作就可以了。千万别马虎地把new和free或malloc和delete混起来用,那只会自找麻烦。
  阅读全文
posted @ 2008-01-16 20:57 sdfasdf 阅读(2338) | 评论 (2)  编辑

     摘要: 传统的C函数库中scanf和printf不是类型安全的,另外,scanf/printf系列函数把要读写的变量和控制读写格式的信息分开来,这都是很早的用法啦。  阅读全文
posted @ 2008-01-15 21:13 sdfasdf 阅读(2354) | 评论 (3)  编辑

     摘要: 尽量不用#define这条语句,这条语句不认为是C++语言的一部分,而且在进行字符替换时会带来很多的问题。

  阅读全文
posted @ 2008-01-15 20:51 sdfasdf 阅读(2057) | 评论 (1)  编辑

     摘要: const关键字的用法较为复杂,做一总结便与使用,欢迎高手补充!  阅读全文
posted @ 2008-01-13 21:20 sdfasdf 阅读(14534) | 评论 (7)  编辑

posted @ 2008-01-11 19:36 sdfasdf 阅读(1112) | 评论 (0)  编辑

posted @ 2008-01-10 11:23 sdfasdf 阅读(62405) | 评论 (36)  编辑

posted @ 2008-01-09 21:38 sdfasdf 阅读(1413) | 评论 (1)  编辑

posted @ 2008-01-07 20:11 sdfasdf 阅读(8767) | 评论 (56)  编辑

     摘要: 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则   阅读全文
posted @ 2008-01-06 15:53 sdfasdf 阅读(501) | 评论 (0)  编辑

     摘要: GPU编程指南,需要的朋友随意下载  阅读全文
posted @ 2008-01-03 10:50 sdfasdf 阅读(3962) | 评论 (5)  编辑

     摘要: C++基础内容,细细体会  阅读全文
posted @ 2007-12-26 14:10 sdfasdf 阅读(2019) | 评论 (2)  编辑

     摘要: C++基础内容,细细体会  阅读全文
posted @ 2007-12-26 14:07 sdfasdf 阅读(851) | 评论 (0)  编辑

     摘要: 在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。  阅读全文
posted @ 2007-12-24 09:40 sdfasdf 阅读(588) | 评论 (1)  编辑

     摘要: 别嫌我啰嗦,有问题就要彻底搞透。
摘自:http://tb.blog.csdn.net/TrackBack.aspx?PostId=1526046  阅读全文
posted @ 2007-12-23 20:04 sdfasdf 阅读(1070) | 评论 (2)  编辑

     摘要: C++的基本功
转自http://huai900.bloghome.cn。  阅读全文
posted @ 2007-12-23 20:03 sdfasdf 阅读(17191) | 评论 (1)  编辑

     摘要: 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。(转自http://hi.baidu.com/zkheartboy/blog)  阅读全文
posted @ 2007-12-23 19:44 sdfasdf 阅读(344) | 评论 (0)  编辑

     摘要: 转自Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=300583  阅读全文
posted @ 2007-12-23 19:33 sdfasdf 阅读(568) | 评论 (0)  编辑

     摘要: 作者:panic 2005年4月2日

还是来自csdn的帖子:
主  题: 探讨:内存对齐
作  者: typedef_chen ((名未定)(我要骗人))
等  级:
信 誉 值: 100
所属论坛: C/C++ C++ 语言
问题点数: 50
回复次数: 1
发表时间: 2005-04-02 22:53:27  阅读全文
posted @ 2007-12-23 19:32 sdfasdf 阅读(10824) | 评论 (6)  编辑

     摘要: 其它编程经验  阅读全文
posted @ 2007-12-17 16:46 sdfasdf 阅读(551) | 评论 (2)  编辑

     摘要: 对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对象的设计。
对于C++程序而言,设计孤立的类是比较容易的,难的是正确设计基类及其派生类。本章仅仅论述“继承”(Inheritance)和“组合”(Composition)的概念。
注意,当前面向对象技术的应用热点是COM和CORBA,这些内容超出了C++教材的范畴,请阅读COM和CORBA相关论著。  阅读全文
posted @ 2007-12-17 16:44 sdfasdf 阅读(346) | 评论 (0)  编辑

     摘要: 构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。  阅读全文
posted @ 2007-12-17 16:42 sdfasdf 阅读(287) | 评论 (0)  编辑

     摘要: 对比于C语言的函数,C++增加了重载(overloaded)、内联(inline)、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。
重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用。本章将探究重载和内联的优点与局限性,说明什么情况下应该采用、不该采用以及要警惕错用。  阅读全文
posted @ 2007-12-16 14:23 sdfasdf 阅读(382) | 评论 (3)  编辑

     摘要: 欢迎进入内存这片雷区。伟大的Bill Gates 曾经失言:
640K ought to be enough for everybody
— Bill Gates 1981
程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本章的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理  阅读全文
posted @ 2007-12-16 14:21 sdfasdf 阅读(255) | 评论 (2)  编辑

     摘要: 函数是C++/C程序的基本功能单元,其重要性不言而喻。函数设计的细微缺点很容易导致该函数被错用,所以光使函数的功能正确是不够的。本章重点论述函数的接口设计和内部实现的一些规则。  阅读全文
posted @ 2007-12-15 15:38 sdfasdf 阅读(194) | 评论 (0)  编辑

     摘要: 常量是一种标识符,它的值在运行期间恒定不变。C语言用 #define来定义常量(称为宏常量)。C++ 语言除了 #define外还可以用const来定义常量(称为const常量)。  阅读全文
posted @ 2007-12-15 15:36 sdfasdf 阅读(184) | 评论 (0)  编辑

     摘要: 读者可能怀疑:连if、for、while、goto、switch这样简单的东西也要探讨编程风格,是不是小题大做?

我真的发觉很多程序员用隐含错误的方式写表达式和基本语句,我自己也犯过类似的错误。

表达式和语句都属于C++/C的短语结构语法。它们看似简单,但使用时隐患比较多。本章归纳了正确使用表达式和语句的一些规则与建议。
  阅读全文
posted @ 2007-12-15 08:39 sdfasdf 阅读(213) | 评论 (1)  编辑

     摘要: 比较著名的命名规则当推Microsoft公司的“匈牙利”法,该命名规则的主要思想是“在变量和函数名中加入前缀以增进人们对程序的理解”  阅读全文
posted @ 2007-12-15 08:37 sdfasdf 阅读(229) | 评论 (0)  编辑

     摘要: 版式虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是
程序风格的重要构成因素。
可以把程序的版式比喻为“书法”。好的“书法”可让人对程序一目了然,看得兴
致勃勃。差的程序“书法”如螃蟹爬行,让人看得索然无味,更令维护者烦恼有加。请
程序员们学习程序的“书法”,弥补大学计算机教育的漏洞,实在很有必要。  阅读全文
posted @ 2007-12-14 21:22 sdfasdf 阅读(240) | 评论 (0)  编辑

     摘要: 每个C++/C 程序通常分为两个文件。一个文件用于保存程序的声明(declaration ),
称为头文件。另一个文件用于保存程序的实现(implementation ),称为定义(definition)
文件。   阅读全文
posted @ 2007-12-14 21:07 sdfasdf 阅读(257) | 评论 (0)  编辑

     摘要: 在写此书前,我阅读了不少程序设计方面的英文著作,越看越羞惭。因为发现自己
连编程基本技能都未能全面掌握,顶多算是二流水平,还好意思谈什么老手和高手。希
望和我一样在国内土生土长的程序员朋友们能够做到:
(1)知错就改;
(2 )经常温故而知新;
(3 )坚持学习,天天向上。  阅读全文
posted @ 2007-12-14 21:00 sdfasdf 阅读(467) | 评论 (0)  编辑

     摘要: sizeof,字节对齐,多继承,虚拟继承,成员函数指针  阅读全文
posted @ 2007-12-14 14:31 sdfasdf 阅读(369) | 评论 (0)  编辑

     摘要: C语言不是面向对象语言。因为这一点,任何学习C语言的人必须学会用函数思考问题。当你真正的去学习一门面向对象语言时,就会有C语言的函数学习基础去对比。不同情况下你会使用不同的编程语言。  阅读全文
posted @ 2007-12-13 13:46 sdfasdf 阅读(353) | 评论 (0)  编辑