C++ Primer Plus第五版笔记(p1-50)

news2024/10/5 20:28:09

1 在unix中 echo 获得状态
2iostream 包含istream以及ostream:随着时间的推移,字符是按照顺序生成或者是消耗的
3cin标准输入 cout标准输出 Cerr标准错误 clog 一般性信息
4cin>>c1>>c2;连续输入
5cout是ostream的对象,第一个<<返回左侧cout,接着到第二个cout
6endl的效果是结束当前行,并将于设备关联的缓冲区内容刷到设备中
7std 命名空间
8注释分为 /* */ 以及//
9for while 循环
10读取数量不定的输入数据: while(std::cin>>value) 读取数据直到文件尾部 3 4 5 6 输出18 从键盘输入文件的结束符是crtl+z 然后再enter
11if 语句
12=与==的混淆
13自己程序的风格很重要, 要坚持自己的风格
14对于包含标准库的文件, 需要使用<>包围文件名
对于不属于标准库的头文件,则是用双引号””包围
15return -1表示失败,返回错误值
16一般多使用double 而不是float
17自动类型转换 p33
给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数。例如,8比特大小的unsigned char 可以表示0-255区间内的值,但我们付了一个区间以外的值过后,则实际的值是该值对256取模后所得的余数。因此,把-1赋给8比特大小的unsigned char 所得的结果是255

在这里插入图片描述

把负数转换成无符号数类似于直接给无符号数赋一个负值,结果等于这个负数加上无符号数的模
在这里插入图片描述在这里插入图片描述

给有符号类型一个超出它表示范围的值时,结果是未定义的,此时程序可能会工作,可能崩溃,但是也可能产生垃圾数据

18 别混用带符号类型以及无符号类型
19 浮点型字面值表现为一个小数或以科学计数法表示的指数,其中指数部分用E/e标识
3.14159E0
默认的,浮点型字面值是一个double, 可以用其余的后缀来表示其他的浮点型 p37

20 编译器在每个字符串借位添加一个空字符\0, 因此,字符串字面值实际长度要比它的内容多1

21 转义字符 \n换行符 双引号\” 单引号\’
在这里插入图片描述

22 泛化的转义序列 \7,\40,\115 如果斜杠后面八进制数字超过三个,那么只有前3个数 p36
23 指定字面值的类型:在字面值后加上LL,U,u,L表示不同含义 p37
24 对象是指一块能存储数据并拥有某种类型的内存空间

25 绝大多数类都支持无须显式初始化而定义对象
建议初始化每个内置类型的变量

26 extern int i;声明而不定义变量i
27 标识符:字母,数字,下划线;字母或者下划线必须是开头,对大小写字母敏感

28 c++ 关键字 p43
不太熟悉的关键字: alignas alignof asm enm inline mutable register reinterpret_cast static_assert static_cast thread_local throw union wchar_t

29 cout<<::reused<<endl; //显式地访问全局变量reused p44
30 定义引用时,程序会把引用和它的初始值绑定在一起,而不是将初始值拷贝给引用
31 引用必须初始化
32 不能定义引用的引用,不能&&a
33 引用只能绑定在对象上,不能和字面值或者某个表达式的计算结果绑定在一起
34 指针本身就是一个对象,允许对指针赋值以及拷贝,而且在指针的生命周期中它可以指向几个不同的对象。其二,指针无须在定义时赋初值,没有初始化也将拥有一个不确定的值
35 指针的类型实际上用于指定它所指向对象的类型,所以两者必须匹配
36 空指针不指向任何对象,在试图使用一个指针之前可以检查它是否为空 int *p1=nullptr
用字面值 nullptr 来初始化指针是c++11刚引入的新特性

37 过去的程序会用到一个名为NULL的预处理变量来给指针赋初值,这个变量在头文件cstdlib中定义,它的值是0
#include
int *p3=NULL;
38 预处理器是运行于编译过程之前的一段程序,预处理变量不属于命名空间std,而是由预处理器负责管理
39 在新标准下,尽量使用nullptr而不是NULL
40 建议初始化所有指针,如果实在不知道指向何处,请初始化为nullptr 或者 0
41 赋值永远改变的是等号左侧的对象
42 任何非0指针对应的条件值都是true
43 两个指针存放的地址值相同(两个指针相等)有三种可能:
都指向同一个对象
都为空
都指向另外对象的下一个地址

44 void可以存放任意对象的地址,不过比较有限,不能直接操作void 指针所指向的对象,因为不确定类型,而且无法访问内存空间所存的对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/37578.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VirtualBox安装openEuler

下载&#xff1a; https://www.openeuler.org/zh/mirror/list/ 根据设备架构选择对应的版本&#xff1a;windows是x86架构 选择下面这个4.2G大小的&#xff1a; 安装&#xff1a; 1&#xff0c;点击新建&#xff1a; 按下图设置 设置内存大小&#xff0c;使用的cpu数…

SpringBoot项目在使用Maven打包war中遇到的问题

问题描述 在使用maven打包&#xff08;package&#xff09;springboot项目为war项目后&#xff0c;在本地机器上使用Tomcat跑这个项目&#xff0c;访问资源时出现下面的错误&#xff1a; o.s.b.w.servlet.support.ErrorPageFilter : Cannot forward to error page for reque…

TIKTOK出海公会为什么是2022出海风口?有哪些机遇与挑战?

近两年在全球迅速扩张市场的TIKTOK一举跃为全球下载量第一的APP&#xff0c;背靠十几亿月活用户的流量矿山&#xff0c;成为首个非Facebook系达成此成就的应用&#xff0c;可谓是赚足了全世界的目光。与此同时&#xff0c;大量跨境商家与自媒体从业者也盯上了TIKTOK的造富潜力&…

zlib-1.2.11库、libpng-1.6.36库编译及交叉编译 —— 附带shell编译脚本及源码

目录 一、zlib-1.2.11库编译 二、libpng-1.6.36库编译 三、编译zlib和libpng的编译脚本 编译libpng库之前需要先下载编译zlib库&#xff0c;因为libpng需要依赖zlib才能编译通过。 编译环境如下&#xff1a;ubunt 14.04、gcc 4.8.4、arm-hisiv100nptl-linux-gcc 一、zlib-1.2…

SAP S4客户与供应商如何管理 事务代码 BP

在 S4里里面&#xff0c; “客户”与“供应商”的概念被整合为为“业务伙伴”了 &#xff0c;所以SAP也用也新的事务代码来管理“业务伙伴” 新的业务代码是BP 。 在旧版本的SAP里面采用供应商和客户的方式来管理业务伙伴&#xff0c;有一些弊端&#xff0c;例如&#xff1a; 1…

[附源码]java毕业设计源冀平行进口车系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

二、进程管理(三)同步与互斥

目录 3.1 临界资源与临界区 3.2 同步与互斥概念 3.3 实现临界区互斥的基本方法 3.3.1 软件实现方法 3.3.1.1 单标志法 3.3.1.2 双标志先检查法 3.3.1.3 双标志后检查法 3.3.1.4 Peterson算法 3.3.2 硬件实现方法 3.3.2.1 中断屏蔽方法 3.3.2.2 硬件指令方法之TestAn…

使用DIV、CSS技术设计的个人博客网页(web期末考试)

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

GANs综述

生成式对抗网络GANs及其变体 基础GAN 生成式对抗网络&#xff0c;是lan Goodfellow 等人在2014年开发的&#xff0c;GANs 属于生成式模型&#xff0c;GANs是基于最小值和最大值的零和博弈理论。 为此&#xff0c;GANs是由两个神经网络组成一个Generator。另一个是Discriminat…

dolphinscheduler 2.0.5和2.0.6 体验记录及优化扩展(任务出现kill状态、未设置延时执行出现延时执行、系统变量扩展)

目录&#x1f42c;未停止工作流的情况下出现kill状态的任务实例&#x1f42c;未设置延时执行出现延时执行&#x1f420;集群服务器时间有误差导致的&#x1f420;优化&#xff1a;增加延时时间判断&#x1f42c;系统变量&#x1f420;第N周扩展*️⃣主目录&#xff1a;dolphins…

Kettle:跨库(SQLServer-PostgreSQL)同步多张表数据的详细设计过程

〇、参考地址 1、多个Excel实现同步 https://www.wangt.cc/2021/05/kettle%E5%A4%9A%E4%B8%AA%E8%A1%A8%E4%B8%80%E8%B5%B7%E8%BF%81%E7%A7%BB-%E9%80%9A%E8%BF%87%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E9%85%8D%E7%BD%AE%E9%9C%80%E8%A6%81%E5%90%8C%E6%AD%A5%E7%9A%84%E5%AD…

Java搭建实战基于若依springboot二次开发WMS带移动端管理系统vue源码

大家好啊&#xff0c;我是测评君&#xff0c;欢迎来到web测评。 有个朋友发了一套基于若依开发的springboot源码给我&#xff0c;让我帮忙看一下&#xff0c;录制一期视频教程出来&#xff0c;我看了一下&#xff0c;系统是前后端分离的架构&#xff0c;前端使用Vue2&#xff0…

Ubuntu20.04安装graph-tool

目录step1&#xff1a;查看系统发行版本step2: 在 /etc/apt/sources.list文件中添加一行step3: 下载密钥step4: 更新apt-getstep5: 下载graph-toolstep6&#xff1a;移动graph-tool包到anaconda下step7: 测试是否安装成功链接: 官方安装教程注&#xff1a;如果下列过程中出现权…

cesium在地形上贴地添加各种entity

目录 添加带标签的点 添加billboard 添加corridor 添加面polygon 添加带图片的面polygon 添加矩形 添加glb模型 被遮挡的线用其他颜色标注 添加贴地线 官方示例&#xff1a;Cesium Sandcastlehttps://sandcastle.cesium.com/?srcClamp%20to%20Terrain.html&labelTutor…

都已过35+程序员高危高龄,我为什么还要学习python?

前言 首先声明一点&#xff1a;学习PYTHON&#xff0c;绝不是要去当一名“憔悴的”程序猿~ &#xff08;文末送读者福利&#xff09; 去互联网大厂&#xff1f;则更是谈不上。就算我想去&#xff0c;大厂也是看不上。 年龄看不上&#xff08;已过程序员35岁之高龄&#xff0…

学生个人网页设计作品 学生个人网页模板 简单个人主页成品 个人网页制作 HTML学生个人网站作业设计代做

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

LaTex常用技巧6:矩阵编写总结

本文记录和总结了LaTex编写矩阵的一些要点&#xff0c;具体参考这位博主半个冯博士的知乎文章如何用latex编写矩阵&#xff08;包括各类复杂、大型矩阵&#xff09;&#xff1f; 无括号矩阵圆括号矩阵方括号矩阵大括号矩阵行列式范数分块矩阵竖实线竖虚线横实线横虚线其他要点横…

redis的下载和安装详解

一、下载redis安装包 进入redis官网查看当前稳定版本&#xff1a; https://redis.io/download/发现此时的稳定版本是6.2.4&#xff0c; 此时可以去这个网站下载6.2.4稳定版本的tar包。 暂时不考虑不在windows上使用redis&#xff0c;那样将无法发挥redis的性能 二、上传tar…

智能疾病查询接口

一、接口介绍 最全的疾病大全&#xff0c;收集了数万种常见疾病&#xff0c;任何常见疾病都可查询。 二、功能体验 三、API文档 3.1 查询疾病科目 3.1.1接入点说明 查询疾病的类别。 3.1.2接口地址 http[s]&#x1f615;/www.idmayi.com/546-1?idmayi_appid替换自己的值&…

spring复习02,xml配置管理bean

spring复习02,xml配置管理bean获取bean的几种方式1. 通过id获取bean2. 通过class获取bean3. id和class结合来获取bean依赖注入的两种方式setter注入有参构造器注入依赖注入时一些特殊值的处理1.字面量2.null值3.xml实体4.CDATA节为类类属性赋值1.引入已经声明的bean的方式2.内部…