C++ Primer Plus 第一章 预备知识
C++ Primer Plus 第一章 预备知识
知识点梳理
本章主要讲述了C++的由来,讨论了面向过程语言与面向对象语言的区别,介绍了ANSI/ISO制定的C++标准,阐述了在Windows、Mac、Linux以及Unix上创建、编译C++程序的技巧和方法。
重点知识回顾
C++是为了解决编写大型程序时类似C语言结构化编程的理念无法更好的应对挑战的问题,其引入了面向对象(OOP)的新方法,与C语言强调算法的过程性编程不同,面向对象强调的是数据,其理念是设计与问题的本质特性相对应的数据格式。
C++支持泛型编程,其与面向对象的目标相同,使重用代码和抽象通用概念的技术更简单,不过面向对象强调的是编程的数据方面,而泛型编程强调的是独立于特定数据类型,比如下面的例子,功能是返回两个int类型中的较大值:
int max(int x, int y) {
return (x > y) ? x : y;
}
如果之后程序中又需要比较两个double类型数据的大小,返回较大的那个值,就又需要添加下面的代码:
double max(double x, double y) {
return (x > y) ? x : y;
}
如果之后又需要比较其他两个新数据类型的数据大小,返回较大的那个值时,还需要额外添加,这样就重复了许多操作,此处我们就需要用到泛型的方法,如下:
D max(D x, D y) {
return (x > y) ? x : y;
}
再遇到类似的情况,只需要将其中的D替换成需要的实际数据类型就可以了。
C++面向对象编程不仅仅是将数据和方法合并为类,其还有助于创建可重用的代码,信息隐私可以保护数据,多态可以为运算符和函数创建多个定义,继承可以使用旧类派生出新类,面向对象编程引入了许多新的概念,学到后续章节时将详细介绍。
转载声明:如果希望转载请于公众号(安全fun)后台联系,或者邮件至anquanfun@163.com,转载时请保留原作者(安全fun)及出处信息,转载文章禁止声明原创,更多合作也可邮件至anquanfun@163.com。
免责声明:本公众号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
C++ Primer Plus 第一章 预备知识的更多相关文章
- 《C++ Primer Plus》学习笔记 第1章 预备知识
第一章 预备知识C++在C语言的基础上添加了对"面向对象编程"的支持和对"泛型编程"的支持.类 —— 面向对象模板 —— 泛型编程1.1 C++简介1.2 C+ ...
- C++ primer plus读书笔记——第1章 预备知识
第1章 预备知识 1. Ritchie希望有一种语言能将低级语言的效率.硬件访问能力和高级语言的通用性.可移植性融合在一起,于是他在旧语言的基础上开发了C语言. 2. 在C++获得一定程度的成功后,S ...
- wpf(第一章 基础知识)
wpf第一章基础知识:通过vs2015创建wpf程序会在引用里面多出3个核心程序集PresentationCore.PresentationFramework.WindowsBase.并且会在解决方案 ...
- 《openssl编程》:第一章基础知识
第一章 基础知识 1.1 对称算法 对称算法使用一个密钥.给定一个明文和一个密钥,加密产生密文,其长度和明文大致相同.解密时,使用读密钥与加密密钥相同. 对称算法主要有四种加密模式: (1) 电子密码 ...
- C++ Primer 笔记 第一章
C++ Primer 学习笔记 第一章 快速入门 1.1 main函数 系统通过调用main函数来执行程序,并通过main函数的返回值确定程序是否成功执行完毕.通常返回0值表明程序成功执行完毕: ma ...
- Python第一章-基础知识
第一章:基础知识 1.1 安装python. 直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...
- C++ primer的第一章的主要内容
第一章主要是把C++的主要的部分简单的介绍了一下,让读者对C++开始有一个简单的了解.看完第一章的收获就是知道如何去读入不确定数目的输入,主要是形式是:whlie(cin>>s){},利用 ...
- C Primer Plus_第一章_概览_复习题与编程练习
REVIEW 1.就编程而言,可移植性表示什么? me 一个系统上编写的程序经过很少改动或者不需改动就可以在另一个系统上运行.如果修改是必须的,则通常只改变伴随主程序的一个头文件中的几项内容即可.(P ...
- 《Python基础教程(第二版)》学习笔记 -> 第一章 基础知识
写笔记的原因:书也看了一遍,视频也看了,但总是感觉效果不好,一段时间忘记了,再看又觉得有心无力,都是PDF的书籍,打开了就没有心情了,上班一天了,回家看这些东西,真的没多大精力了,所以,我觉得还是把p ...
随机推荐
- Yacc使用优先级
Yacc使用优先级 本示例是龙书4.9.2的示例,见图4-59. 和前一章一样,新建xUnit项目,用F#语言.起个名C4F59安装NuGet包: Install-Package FSharpComp ...
- Spring学习笔记2
一.什么是AOP 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.在不影响原来功能代码的基础上,使用动态代理加入自己需要的一些功能(比如权限的验证,事务的控制,日志的记录 ...
- Codeforces Round #631 (Div. 2)
Contest Info Practice Link Solved A B C D E F 4/6 O O Ø O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Solu ...
- Codeforces Round #666 (Div. 2)
比赛链接:https://codeforces.com/contest/1397 A. Juggling Letters 题意 给出 $n$ 个字符串,可在字符串间任意移动字母,问最终能否使这 $n$ ...
- 矩阵树定理(Kirchhoff || Laplace)初探——Part 1(无向图计数)
必备知识: 高斯消元,图论基本知识(好像就这...(雾)) 这里是无向图部分,请不要走错场... 定义 我们将邻接矩阵定义为矩阵\(A(u,v)\),我想邻接矩阵就不用再多说了: 我们将每个点的度数矩 ...
- Codeforces 102394I Interesting Permutation 思维
题意: 你有一个长度为n的序列a(这个序列只能使用[1,n]区间内的数字,每个数字只能使用一次),通过a序列可以构造出来三个相同长度的序列f.g.h For each 1≤i≤n, fi=max{a1 ...
- Codeforces Testing Round #16 C.Skier
题意: 一个人在雪地上滑雪,每次可以向上下左右四个方向移动一个单位,如果这条路径没有被访问过,则需要5秒的时间,如果被访问过,则需要1秒(注意:判断的是两点之间的距离,不是单纯的点).给你他的行动轨迹 ...
- 关于TCP和UDP的通俗理解
TCP和UDP是网络基础,很多公司面试也都会问到,今天我在这里,根据大神们的讲解,自己总结借鉴一下. 首先,先提一个问题:英雄联盟是TCP还是UDP? 这个问题对于游戏玩家,可能大多数人都没有想过.一 ...
- Windows 10 Emoji shortcuts
Windows 10 Emoji shortcuts Windows 10 Emoji 快捷方式 https://support.microsoft.com/en-us/windows/windows ...
- 使用 js 实现十大排序算法: 桶排序
使用 js 实现十大排序算法: 桶排序 桶排序 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!