Thinking in C++读书笔记---数据抽象

第四章 数据抽象

1 new--delete:

数组的销毁一定要使用delete [];明确的告知编译器这是一个内存块。

2 C中名字问题: 

在C中最大的障碍就是名字冲突。对于函数,C使用单个名字空间,当连接器查找一个函数时,他在一个主表中查找,而且,当编译器白泥臆一个单元时,他只能对带有指定名字的单个函数进行处理。加入有连个厂商都觉得init和clean是好名字,如果处理单元包含了这样两个库,C编译器会报错。为了解决这个问题,C库的厂商会在他们的函数前加上一个独特的字符串。在C++中完美的解决了这个问题。

3 在面向对象中,调用对象的一个方法相当于是向对象发送消息。这样对象的概念就更深入人心了。

4 头文件多次声明问题:

很多库例如<iostream>已经智能的实现了这个问题,但是在我们自己写头文件时,为了防止这个问题,我们应该在其中加一些东西:

#define FLAG
#ifdef FLAG
/*...........*/
#endif

5 头文件中的 命名空间:

在头文件中绝对不可以加入using ...的命名空间,因为这样使用指令去除了对这个特定名字空间保护。

6 全局作用域解析:

编译器默认选择的名字(“最接近”的名字“)可能不是我们要用的名字,作用域解析符可以避免这种情况.S::F();


Thinking in C++读书笔记---数据抽象,布布扣,bubuko.com

Thinking in C++读书笔记---数据抽象

上一篇:python - wsgi协议


下一篇:网络协议中常见编码的原理及其解码函数的C++实现