C++
nowgoant
http://123.msn.com/formbntmes&pcnowgoant&DT020614
展开
-
高质量C++编程指南(二)
<br />第5章 常量<br /> 常量是一种标识符,它的值在运行期间恒定不变。C 语 言用 #define 来定义常量(称为宏常量)。C++ 语 言除了 #define 外还可以用const 来 定义常量(称为const 常量)。<br /> <br /> 5.2 const 与 define的比较<br /> C++ 语言可以用const 来 定义常量,也可以用 #define 来定义常量。但是前者比后者有更多的优点:<br />(1) const常量转载 2011-05-06 10:27:00 · 312 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点五
<br />7.4指针参数是如何传递内存的?<br /> 如果函数的参数是一个指针,不要指望用该指针去申请动态内存。 示例7-4-1中,Test函数的语句GetMemory(str, 200) 并没有使str 获 得期望的内存,str 依旧是NULL ,为什 么?<br /> <br />void GetMemory(char *p, int num)<br />{<br /> p = (char *)malloc(sizeof(char) * num);<br />}<br />void转载 2011-05-06 10:29:00 · 387 阅读 · 0 评论 -
高质量C++编程指南(三)
<br /><br />6.6 引用与指针的比较<br />引用是C++ 中的概念,初学者容易把引用和指 针混淆一起。一下程序中,n 是m 的一个引用 (reference ),m 是被引用物(referent )。<br /> int m;<br /> int &n = m;<br />n相当于m 的别名(绰号),对n 的 任何操作就是对m 的操作。例如有人名叫王小毛,他的绰号是“三毛”。说“三毛”怎么怎么的,其实就 是对王小毛说三道四。所以n 既 不是m 的拷贝,也不是转载 2011-05-06 10:27:00 · 328 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点十一
第十一章 其他编程经验11.1 使用const提高函数的健壮性看到const关键字,C++程序员首先想到的可能是const常量。这可不是良好的条件反射。如果只知道用const定义常量,那么相当于把火药仅用于制作鞭炮。const更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const是constant的缩写,“恒定不变”的意思。 被const修饰的东西都受到强制保护,可以预 防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you nee转载 2011-05-06 10:36:00 · 537 阅读 · 0 评论 -
高质量C++编程指南 一
<br /><br />第1章 文件结构<br />1.4 头文件的作 用<br />早期的编程语言如Basic、Fortran没有头文件的概念,C++/C语言的初学者虽然会用使用头文件,但常常不明其理。这里对头文件的作用略作解释:<br />(1)通过头文件来调用库功能。在很多场合,源 代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译 器会从库中提取相应的代码。<br />(2)头文件能加强类型安全检查。如果某转载 2011-05-06 10:26:00 · 433 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点十
<br />第10章 类的继承与组合<br /> <br />对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对 象的设计。<br />对于C++程序而言,设计孤立的类是比较容易的,难的是正确设计基类及其派生类。 本章仅仅论述“继承”(Inheritance)和“组合”(Composition)的概念。<br />注意,当前面向对象技 术的应用热点是COM和CORBA, 这些内容超出了C++教材的转载 2011-05-06 10:35:00 · 342 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点九
<br />第9章 类的构造函数、析构函数与赋值函数<br />构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似 简单的函数就象没有顶盖的下水道那样危险。<br /> 每个类只有一个析构函 数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。 对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A产生四个缺省的函数,如<br /> A(void); // 缺省的转载 2011-05-06 10:33:00 · 356 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点七
<br />第8章 C++函数的高级特性<br />对比于C语言的函数,C++增加了重载(overloaded)、内联(inline)、const和virtual四种新机制。其中重载和内联机制既可用于全局函数也可用于类的成员函数,const与virtual机制仅用于类的成员函数。<br /> 重载和内联肯定有其好处才会被C++语言采纳,但是不可以当成免费的午餐而滥用。本章将探究重载和内联的优点与局限性,说明什么情况下 应该采用、不该采用以及要警惕错用。<br /> <br /> 8.1 函数转载 2011-05-06 10:31:00 · 401 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点六
<br />7.8 有了malloc/free为什么还要new/delete ?<br /> malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。 它 们都可用于申请动态内存 和释放内存 。<br />对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算 符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任转载 2011-05-06 10:30:00 · 613 阅读 · 0 评论 -
高质量C++编程指南 》学习重点四
<br />第7章 内存管理<br /> 7.1内存分配方式<br />内存分配方式有三种:<br />(1) 从静态存储区域分配。 内 存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例 如全局变量,static变量。<br />(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单 元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。<br />(3) 从堆上分配,亦转载 2011-05-06 10:29:00 · 329 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点八
<br />8.4 运算符重载<br />8.4.1 概念<br /> 在C++ 语言中,可以用关键字operator 加上运算符来表示函数,叫做运算符重载。 例如两个复数相 加函数:<br /> Complex Add(const Complex &a, const Complex &b);<br />可以用运算符重载来表示:<br /> Complex operator +(const Complex &a, const Complex &b);<br /> 运算符与普通函转载 2011-05-06 10:32:00 · 430 阅读 · 0 评论