11.1.3 const成员函数 任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。 以下程序中,类stack的成员函数GetCount仅用于计数,从逻辑上讲GetCount应当为const函数。编译器将指出GetCount函数 发布时间:2012-06-30 作者: 佚名技术 views(140)
7.11 new/delete 的使用要点 运算符new使用起来要比函数malloc简单得多,例如: int *p1 = (int *)malloc(sizeof(int) * length); int *p2 = new int[length]; 这是因为new内置了sizeof、类型转换和类型安全检查功能。对于非内部数据类型的对象而言,new在创建动态对象的同时完成了初始化工作。如果对象有多个构造函数,那么 发布时间:2012-06-30 作者: 佚名技术 views(176)
10.2 组合 l 【规则10-2-1】若在逻辑上A是B的一部分(a part of),则不允许B从A派生,而是要用A和其它东西组合出B。 例如眼(Eye)、鼻(Nose)、口(Mouth)、耳(Ear)是头(Head)的一部分,所以类Head应该由类Eye、Nose、Mouth、Ear组合而成,不是派生而成。如示例10-2-1所示。 class Eye { public: void Look(void); 发布时间:2012-06-30 作者: 佚名技术 views(175)
史列因:我刚看了你写的深度探索C++对象模型(1),感觉很不错。不过我有一个建议:你说谁知第一章便如此的难以消化,已经反复读了3遍,还是有些夹生是很自然的。第一章是一个总览,如果你能全看懂,后面的就没什么看的必要了。第一章的内容后面都有详细介绍,开始只要有个大概印象就可以了。这本书中很多内容都是前后重复的。 发布时间:2012-06-30 作者: 佚名技术 views(195)
奇怪的是,C++不支持字串变量(放置文本的变量),C++程序中的字串是用char数据类型的数组表示的。例如,可以将变量赋予char数组如下: char text[] = This is a string.; 这就在内存中分配18字节的内存空间用于存放字串。根据你的领悟能力,也许你会发现该字串中只有17个字符。分配18个字节的原因是字串要以终止null结尾, 发布时间:2012-06-30 作者: 佚名技术 views(214)
Visual Studio 2005把泛型编程的类型参数模型引入了微软.NET框架组件。C++/CLI支持两种类型参数机制--通用语言运行时(CLR)泛型和C++模板。本文将介绍两者之间的一些区别--特别是参数列表和类型约束模型之间的区别。 参数列表又回来了 参数列表与函数的信号(signature)类似:它标明了参数的数量和每个参数的类型 发布时间:2012-06-30 作者: 佚名技术 views(708)
如果你用过具有string数据类型的编程语言,你可能很不习惯,别人也有同感,所以标准C语言库中提供了几个字串操作函数。表1.3列出了最常用的字串操作函数及其用法说明。关于每个函数的详细说明和实例,见C++ Builder联机帮助。 表1.3字串操作函数 函数 说明 strcat() 将字串接合到目标字串的末尾 strcmp() 比较两个字串是否相 发布时间:2012-06-30 作者: 佚名技术 views(216)
当运行环境中包含垃圾回收机制时,区别开内存管理和资源管理,就非常重要了。典型地来说,垃圾回收器只对包含对象的内存之分配与释放感兴趣,它可不关心你的对象是否拥有其他的资源,如数据库连接或核心对象的句柄。 内存管理 本地C++为程序员提供了超越内存管理的直接控制能力,在堆栈上分配一个对象,意味着只有在 发布时间:2012-06-30 作者: 佚名技术 views(380)
|