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

常用链接

留言簿(48)

我参与的团队

搜索

  •  

积分与排名

  • 积分 - 370148
  • 排名 - 52

最新评论

阅读排行榜

评论排行榜

C++

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

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

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

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

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

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

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

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

内存使用常见错误:

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

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

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

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

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

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

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

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

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

Full C++ Archive