C++ Prime Plus(第6版) 第1章 学习笔记

本文介绍了C++的发展历程,包括C语言的起源、面向对象编程概念、泛型编程的C++模板,以及C++的可移植性和标准变迁。详细讲解了程序从源代码到可执行文件的创建过程,包括各种平台的编译和链接方法。
摘要由CSDN通过智能技术生成

1.1 C++ 简介

C语言代表的过程性语言、在C语言基础上添加的类代表面向对象语言、C++模板支持的泛型编程。

1.2 C++简史

1.2.1 C语言

传统使用汇编语言控制硬件,针对不同计算机处理器,使用不同的汇编语言重新编写程序,因此开发了同时具有低级语言的效率、硬件访问能力以及高级语言的通用性、可移植性的C语言。

1.2.2 C语言编程原理

程序 = 数据(程序使用和处理的信息) + 算法 (程序使用的方法)

C语言特点:1. 结构化编程(for循环、while循环、do while循环 、if else)

2. 自顶向下的设计(将大程序分解成小型、便于管理的任务,如果任务仍然过大,则继续分解)

1.2.3 面向对象编程

OOP强调数据,试图让语言满足问题的要求。

其理念是设计与问题本质特性相对应的数据格式。

类是一种规范,描述这种新型数据格式。

对象是根据这种规范构造的特定数据结构。

OOP程序设计方法首先设计类。 从低级组织(如类)到高级组织(如程序)的处理过程叫做自下而上的编程。

OOP将数据和方法合并为类定义(封装?)

多态可以为运算符和函数创建多个定义,通过编程上下文来确定使用哪个定义。

继承能够使用旧类派生出新类。

1.2.4 C++和泛型编程

编写一种通用的代码,这种代码可以处理不同的数据类型,而不需要为每种数据类型都编写单独的代码。

泛型编程的主要工具是模板。C++提供两种类型模板:函数模板和类模板。

1.2.5 C++起源

C++是C的超集

OOP提供高级抽象 C提供低级硬件访问

1.3 可移植性和标准

在不修改代码的情况下,使用不同平台的C++编译器进行编译,编译后的程序能良好运行,则该程序可移植。

可移植性的两个障碍:1. 硬件 硬件特定程序不可移植 2. 语言上的差异 

标准: ISO/IEC 14882:1998 即C++98

            ISO/IEC 14882:2003 即C++03

            ISO/IEC 14882:2011 即C++11

1.3.1 C++的发展

1.3.2 本书遵循的C++标准

1.4 程序创建的技巧

      源代码(文本编辑器编写程序)

--> 编译源代码(将源代码翻译为主机使用的语言,翻译后为目标代码) 

--> 将目标代码和其他代码链接起来 (此时文件为可执行代码)

1.4.1 创建源代码文件

有些C++实现提供了IDE,有些只能处理编译和链接。

C++扩展名取决于C++实现。

1.4.2 编译和链接

1. UNIX编译和链接:

CC spiffy.C

生成 spiffy.o 文件,然后编译器将目标代码文件传递给系统链接程序,生成 a.out 可执行文件

2. Linux编译和链接: 常见编译器g++

g++ spiffy.cxx 

生成 a.out 可执行文件

3.Windows命令行编译器: Cygwin 和 MinGW 包含编译器GNU C++

g++ great.cpp

生成 a.exe 可执行文件

4.Windows编译器

常见Microsoft Visual C++

首先需要确定创建的程序类型:比如Windows应用程序、MFC Windows应用程序、动态链接库、Active X控件、DOS或字符模式的可执行文件、静态库或控制台应用程序等。

创建好项目后,需要编译和链接。IDE提供如Complie、Build、Make、Build All、Link、Execute、Run、Debug。

5.Mac上的C++

开发框架Xcode,自带两个编译器(g++和clang)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值