20世纪70年代,程序设计的焦点从过程化的程序设计方法转移到了抽象数据类型(ADT)的程序设计方法中,现在称之为Object based。在基于对象的程序设计中,我们通过一组数据抽象来建立问题的模型,在C++中我们把这些抽象称之为类,与每个类相关的算法称之为该类的公有接口。数据以私有的形式存储在对象中,对数据的访问应与一般的程序设计代码隔离开来。
面向对象的程序设计方法通过“继承inheritance机制和动态绑定dynamic binding机制“扩展了抽象数据类型。继承机制是对现有实现代码的重用,动态绑定时对现有公有接口的重用。
预处理指示符(Preprocessor directive) (1.3节)
- #ifndef 条件指示符,例:防止头文件嵌套包含,如果FILE_H常量没有被定义,则程序会初始化一个默认值,执行预编译里面的内容;
# ifndef FILE_H # define FILE_H /*file.h*/ #endif
- #ifdef,用来判断一个预处理器常量是否已经被定义,以便有条件的包含程序代码。如果DEBUG被定义了,则执行代码,否则不执行。DEBUG这个预处理器常量VS下可以直接用,其他编译方法:$CC –D DEBUG main.c,也可以使用#define指示符定义预处理器常量。
#ifdef DEBUG /*CODE here*/ #endif
编译C++程序时,编译器自动定义了一个预处理器名字__cplusplus,可以根据他来判断该程序是不是C++程序,以便有条件编译一些代码。另外两个比较有用的预定义名字是:__LINE__和__FILE__。前者记录文件已经被编译的行数,后则包含正在被编译的文件的名字。另外__TIME__和__DATA__表示当前时间和日期。
- assert() C语言标准库提供的一个通用预处理器宏。可以在代码中判断一个必要的前提条件,以便程序能够正确执行。
#include<iostream>
//#include<cassert.h>
#include<assert.h> using namespace std; int main() { /*=======*/ assert(filename != 0); }
英文术语:
Programming paradigm 程序设计方法
Procedures programming 过程化程序设计
Abstract data type, ADT 抽象数据类型
Object bases 基于对象
Public interface 公有接口
Inheritance 继承
Dynamic binding 动态绑定
Vector 向量
Divide and conquer 分而治之
Stepwise refinement 逐步求精
Algorithm 算法
Assignment 赋值
Function prototype 函数原型
Invoke 调用
Preprocessor directive 预处理指示符(#include)
Code generation 代码生成
Iterate 迭代
Loop 循环
(Page1-Page13,C++ Primer 第三版)
原文链接: https://www.cnblogs.com/chenliang0571/archive/2010/03/08/1681065.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/8610
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!