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 ...
随机推荐
- C语言实现2048小游戏
目录 2048 一.设计思路 1.游戏规则 2.思路 二.代码实现 1.存储结构 2.初始化游戏数据 3.向左合并 4.其他方向合并 5.产生新的方块 6.源代码 7.实例演示 三.问题 2048 一 ...
- B - B(Is It A Tree?)
给出一堆边给你,让你判断这是不是一棵树.边的信息以(start , end)的形式给出. A tree is a well-known data structure that is either em ...
- Codeforces Round #676 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1421 A. XORwice 题意 给出两个正整数 \(a.b\),计算 \((a \oplus x) + (b \oplus ...
- UVALive 7276 Wooden Signs
详细题目见:http://7xjob4.com1.z0.glb.clouddn.com/0f10204481da21e62f8c145939e5828e 思路:记dp[i][j]表示第i个木板尾部在j ...
- hdu2546 饭卡
Problem Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额.如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负) ...
- CodeForces - 612D 思维
题意: 给你n个线段和一个整数k,你需要找出来所有能被任意k条线段同时覆盖的区间个数的最小值,并按从左到右的顺序输出每个区间. 题解: 对于题目输入的n个线段的左端点L,右端点R,把它们分开放在结构体 ...
- js--执行上下文和作用域相关问题
前言 如果你是或者你想成为一名合格的前端开发工作者,你必须知道JavaScript代码在执行过程,知道执行上下文.作用域.变量提升等相关概念,并且熟练应用到自己的代码中.本文参考了你不知道的JavaS ...
- windows创建p12格式的ios开发证书的流程
现在做ios开发,原生的开发已经不是第一选择,现在有很多不同的H5开发框架,在性能上都不输原生开发,而UI方便却能做得比原生更炫,比如CSS得灵活度肯定是比原生开发出来得应用更灵活的. 我们在开发IO ...
- Linux 日志切割方法总结--Logrotate
一.Logrotate 使用方法 对于Linux系统安全来说,日志文件是极其重要的工具.logrotate程序是一个日志文件管理工具.用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到&qu ...
- 牛客网-n的约数【dfs】
题目描述:戳这里 解题思路:这题思路好想,n最多也就是20个不同的素数相乘,把所有可能的素数找到,然后枚举素数个数就行了. n = p1^q1 + p2^q2 + p3 ^q3 + ... + pi ...