C++编程思想读书笔记之 第二章 数据抽象

来源:互联网 发布:淘宝优惠券秒杀九块 编辑:程序博客网 时间:2024/06/08 07:58

所以,库大概是改进效率的最重要的方法。C + +的主要设计目标之一是使库容易使用。这意味着,在C中使用库有困难。


库的形式有多种,如扩展名如L I B的文件,window有扩展名为dll的文件,linux有 扩展名为.so的文件。


在C 中,使用库的最大的障碍是名字冲突问题。C 对于函数使用单个名字空间,所以当连接器找一个函数名时,它在一个单独的主表中查找,而当编译器在单个处理单元上工作时,它只能对带有某些特定名字的函数进行处理工作。


在C 中,结构是数据的凝聚,它将数据捆绑在一起。


C++将函数也放在这结构体内,结构就变成了新的创造物,它既能描述属性(就像C中的struct 能做的一样),又能描述行为,这就形成了对象的概念。


对象是一个独立的有约束的实体,有自己的记忆和活动。


在C + +中,编译器不要求我们创建t y p e d e f,而是直接把结构名转变为这个程序的新类型名(就像i n t、c h a r、f l o a t、d o u b l e一样)。


C + +有一个新的运算符: :,即范围分解运算符(这样命名是因为名字现在能在不同的范围:在全局范围或在这个struct 的范围)。

(使用方式为,结构体名::结构体成员      或   ::全局的成员)


理论情况,一个结构的大小是它的所有成员(即成员变量)大小的和。(编译器会有所优化,采用字节对齐)


没有成员变量和成员函数的结构体大小为1。

只有成员函数的结构体大小为1。


防止多次包含头文件,典型的防止方法是使用预处理器隔离这个头文件。

#ifndef FOO_H_
#define FOO_H_
// Rest of header here ...
#endif // FOO_H_

vc有个#progma once;//这是一个比较常用的C/C++杂注,只要在头文件的最开始加入这条杂注,就能够保证头文件只被编译一次。


我们可以将一个结构嵌套在另一个中,这就可以将相关联的元素放在一起。另外类也可以嵌套定义。

原创粉丝点击