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 · 322 阅读 · 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 · 393 阅读 · 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 · 341 阅读 · 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 · 545 阅读 · 0 评论 -
高质量C++编程指南 一
<br /><br />第1章 文件结构<br />1.4 头文件的作 用<br />早期的编程语言如Basic、Fortran没有头文件的概念,C++/C语言的初学者虽然会用使用头文件,但常常不明其理。这里对头文件的作用略作解释:<br />(1)通过头文件来调用库功能。在很多场合,源 代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译 器会从库中提取相应的代码。<br />(2)头文件能加强类型安全检查。如果某转载 2011-05-06 10:26:00 · 450 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点十
<br />第10章 类的继承与组合<br /> <br />对象(Object)是类(Class)的一个实例(Instance)。如果将对象比作房子,那么类就是房子的设计图纸。所以面向对象设计的重点是类的设计,而不是对 象的设计。<br />对于C++程序而言,设计孤立的类是比较容易的,难的是正确设计基类及其派生类。本章仅仅论述“继承”(Inheritance)和“组合”(Composition)的概念。<br />注意,当前面向对象技 术的应用热点是COM和CORBA,这些内容超出了C++教材的转载 2011-05-06 10:35:00 · 351 阅读 · 0 评论 -
《 高质量C++编程指南 》学习重点九
<br />第9章 类的构造函数、析构函数与赋值函数<br />构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似 简单的函数就象没有顶盖的下水道那样危险。<br /> 每个类只有一个析构函 数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于任意一个类A,如果不想编写上述函数,C++编译器将自动为A产生四个缺省的函数,如<br /> A(void); // 缺省的转载 2011-05-06 10:33:00 · 361 阅读 · 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 · 411 阅读 · 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 · 620 阅读 · 0 评论 -
高质量C++编程指南 》学习重点四
<br />第7章 内存管理<br /> 7.1内存分配方式<br />内存分配方式有三种:<br />(1) 从静态存储区域分配。内 存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例 如全局变量,static变量。<br />(2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单 元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。<br />(3) 从堆上分配,亦转载 2011-05-06 10:29:00 · 335 阅读 · 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 · 437 阅读 · 0 评论