C++ Primer Plus第五版笔记(p151-200)

news2024/11/19 19:32:50

64 空语句存在危害 p155
65 复合语句是指用花括号括起来的,也被叫做块
一个块就是一个作用域
66 空块的概念p155

67 else只和最近的没配对的if 进行配对 (悬垂else)
68 case标签必须是一个整形常量表达式
69 default也是一种特殊的case标签
如果没有任何一个case标签能匹配上switch表达式的值,程序将执行紧跟在default标签后面的语句,default后面可以跟着空语句或者一个空块

70 c++语言规定,不允许跨过变量的初始化语句直接跳到该变量作用域的另一个位置
如果需要为某个case分支定义并初始化一个变量,我们应该把变量定义在块内,从而确保后面的所有的case标签都在变量的作用域外

71 while for 在循环开始前检查条件,而do while语句先执行循环体
72 for循环
73 省略for语句头的某些部分
74 为什么不能通过范围for语句来给vector增加对象?
在范围for语句中,预存了end()的值,一旦在序列中添加、删除元素,end的函数值就可能变得无效了。
75 do while语句
76 do while语句不允许在条件部分定义变量
77 continue 终止最近的循环中的当前迭代并立即开始下一次迭代,continue语句只能出现在for while do while循环的内部,或者嵌套在此类循环里的语句或者是块的内部
78 goto 语句 标签 控制权转移到一条带标签的语句
79 try 语句块和异常处理
throw 表达式,try语句块 catch子句(匹配异常类型,异常处理代码,负责处理代码抛出的异常)
80 throw runtime_error(“data…”) p174
81 try语句块内声明的变量在块外部无法访问,特别是在catch子句内也无法访问
82 runtime_error的what成员返回的是初始化一个具体对象时所用的string 对象的副本

83 标准异常表(标准库异常类定义的几种运算,#include) p176
84 异常类型之定义了一个what的成员函数,该函数没有任何参数,返回值是一个指向C风格字符串的const char * 该字符串的目的是提供关于有些异常的信息,返回的内容如果异常类型有一个初始值,则what返回该字符串,对于没有初始值的异常类型来说,what返回的内容由编译器决定
85 throw 和 catch也能传递异常信息,不过这部分在书上没有体现
86 用实参初始化函数的形参
87 函数返回类型可以使指向数组或者是函数的指针
88 cmath下的 abs函数可以算绝对值
89 局部静态对象 p185 直到程序终止才被销毁
90 函数的名字必须在使用之前声明,类似于变量
91 当形参是引用类型时,对应的实参被引用传递,引用的形参是它对应实参的别名
92 当执行指针拷贝操作时,拷贝的是指针的值,拷贝之后,两个指针是不同的指针
93 建议使用引用类型的形参代替指针
94 如果函数无须改变引用形参的值,最好将其声明为常量引用
95 当用实参初始化形参时会忽略掉形参的顶层const,换句话说就是形参的顶层const被忽略掉了
96 如果想调用引用版本的reset 只能使用Int类型的对象,而不能使用字面值,求值结果为int的表达式
97 允许字面值初始化常量引用
98 使用引用而非常量引用会极大限制函数所能接受的函数类型 ,正如我们不能把const对象,字面值或者需要类型转换的对象传递给普通的引用形参p192
99 非常量引用,给人的感觉就是程序可以修改实参的内容,并且限制了传入的数据类型
100 数组形参
const int ia[] 相当于 const int *ia
101 显式传递一个表示数组大小的形参,用于对ia元素的访问 p195

102 形参是对数组的引用,void print (int &arr)[10]
103 char **argv argv是指向C风格字符串指针的指针 p197
char *argv[] argv是一个数组,指向C风格字符串的指针

104 可变参数模板(调用 initializer_list)p198
initializer_list的对象中的元素永远都是常量值,我们无法改变其对象中元素的值
如果想在initialzer_list中传入不同数量的值,那么需要把序列放在一个花括号中

105 省略符形参只能出现在形参列表的最后一个位置 p199

106
在这里插入图片描述

107 没有返回值的return 只能用在返回类型是void的函数中
108 void函数expression必须是返回另一个返回void的函数
109 return的返回值类型必须和函数的返回值类型相同,或者能隐式类型转换

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

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

相关文章

【github项目更新以及相关常用操作】

文章目录(一)更新github项目以及更新项目里某个特定文件(二)报错(三)github更改默认分支(一)更新github项目以及更新项目里某个特定文件 更新github项目: 1、首先确保你有github账号并且执行过上传操作(有项目,项目里有文件 2、点击想更新的…

Oracle PrimaveraUnifier 数据定义(Data Definitions),S1

目录 Basic Cost Code Data Picker 数据类型 数据长度 输入方式 Oracle Primavera Unifier数据定义描述了如何将数据输入到Unifier中并存储。数据定义是构建数据元素(表单字段)的基础。有三种类型的数据定义: BasicCost CodeData PickerBasic…

ABP框架数据库改为MySQL

项目中如果需要其他方式数据库的支持,那么需要先删除之前的支持程序集,再引入相应的支持程序集。 1、 移除默认SQL Server相关包 在EntityFrameworkCore项目下移除包Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Design 2…

如何精准分析特定用户的应用性能问题?这两个功能您一定要了解

应用发布后,尤其在发布初期,我们要格外关注应用的性能稳定性,如ANR、画面卡顿、加载慢等问题,如果不能及时被监测及解决,将会给用户带来非常糟糕的体验,导致低评、差评,甚至造成部分意向用户直接…

.net开发安卓入门 - Hello world!

.net开发安卓入门 - Hello world!前言新建项目启动调试调试效果添加Hello World效果安卓样式常见属性介绍第一类:属性值为true或false第二类:属性值必须为id的引用名第三类:属性值为具体的像素值,如30dip,40px第四类:布…

Python如何解析json数据

json 库可以自字符串或文件中解析JSON。 该库解析JSON后将其转为Python字典或者列表。它也可以转换Python字典或列表为JSON字符串。 解析JSON 创建下面包含JSON数据的字符串 json_string ‘{“first_name”: “Guido”, “last_name”:“Rossum”}’ 它可以被这样解析&#…

官方!杭州市第三批重点建设人工智能应用场景发布,创邻科技Galaxybase入选

近日,杭州市经济和信息化局公开发布《2022年杭州市第三批重点建设的人工智能应用场景清单》,对智慧城市、智慧交通、智慧教育、智慧金融等9个细分领域的申报项目进行遴选,最后以浙江大学、杭州城市大脑、顺丰速运为代表的46个人工智能场景脱颖…

net项目使用花生壳,Cpolar进行内网穿透

使用花生壳或Cpolar进行内网穿透一、注册授权一个花生壳账号二、添加花生壳配置三、修改项目配置信息四、以管理员身份打开vs五、Cpolar内网穿透一、注册授权一个花生壳账号 二、添加花生壳配置 打开花生壳客户端,找到内网穿透,找到添加符号&#xff0…

浅析linux 系统进程冻结(freezing of task)

1 概述 进程冻结是当系统hibernate或者suspend时,对进程进行暂停挂起的一种机制,后面主要以hibernate为例进行介绍。那么为什么要在hibernate或者suspend时需要把进程冻结呢?主要是出于如下的原因: 防止文件系统被修改后无法恢复…

springboot集成security(认证)

目录1. 依赖2. 自定义登录逻辑1. 数据库查询2. security认证1. loadUserByUsername2. PasswordEncorder(不加密)3. MD5加密数据库密码4. PasswordEncorder(加密)5. BCryptPasswordEncoder6. 认证流程(图)3.…

【POJ No. 3764】 最长xor 路径 The xor-longest Path

【POJ No. 3764】 最长xor 路径 The xor-longest Path 北大OJ 题目地址 【题意】 在边权树中,路径p的xor长度被定义为路径p上边权的 ,⊕是xor运算符,表示异或。若一个路径有最大的xor长度,则该路径是xor最长的路径。给定n 个节点…

如何正确使用Airtest报告插件?报告小tips上线

1. 前言 在使用Airtest做自动化测试时,默认生成的报告,其实是airtest的专属报告。 它对于poco语句(控件测试场景)、airtest-selenium语句(web测试场景)的支持不够完善,因此我们需要用 插件的形…

Shell脚本学习指南(六)——输入/输出、文件与命令执行

文章目录前言标准输入、标准输出与标准错误输出使用read读取行关于重定向额外的重定向运算符文件描述符处理printf的完整介绍波浪号展开与通配符波浪号展开使用通配符命令替换为head命令使用sed创建邮件列表简易数学:expr引用执行顺序与evaleval语句subShell与代码块…

CAS:210236-90-1,Fluorescein Tyramide,荧光素酪胺绿色荧光试剂

一:产品描述 1、名称 英文:Fluorescein Tyramide 中文:荧光素酪胺 2、CAS编号:210236-90-1 3、分子式:C29H21NO7 4、分子量:495.49 6、储存: -20℃可长期保存,注意避光并置于…

个人微信号API接口,微信机器人

自定义的微信机器人,需求是可以自己批量添加好友、批量打标签等进行好友管理,社群管理需要自动聊天,自动回复,发朋友圈,转发语音,以及定时群发等,还可以提取聊天内容,进行数据汇总&a…

美妆商场系统/在线购物系统/美妆销售系统

摘 要 本毕业设计的内容是设计并且实现一个基于JSP技术的美妆商场系统。它是在Windows下,以MYSQL为数据库开发平台,Tomcat网络信息服务作为应用服务器。美妆商场系统的功能已基本实现,主要包括个人中心、用户管理、商品中心管理、商品类型管…

故障分析 | MySQL 使用 load data 导入数据错误的一个场景

作者:刘晨 网名 bisal ,具有十年以上的应用运维工作经验,目前主要从事数据库应用研发能力提升和技术管理相关的工作,Oracle ACE ,腾讯云TVP,拥有 Oracle OCM & OCP 、EXIN DevOps Master 、SCJP 等国际…

HashSet、HashMap、LinkedHashMap、HashTable、ConcurrentHashMap源码阅读笔记

目录一、HashSet二、HashMap三、LinkedHashMap四、HashTable五、ConcurrentHashMap一、HashSet 首先,让我们先从最简单的开始,总的来说,hashSet可以说是建立在hashMap上的变种应用。 通过阅读hashSet的源码我们可以得出以下结论:…

1556_AURIX_TC275_复位系统控制单元

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 这是上一部分没有看完的CCU的核心寄存器的存储映射信息,只是一个汇总,没有需要着重处理的分析点。 复位控制单元涉及到的几个大功能:基本复位、外部复位…

订单服务-----遇到的问题及解决方案

订单服务的问题及解决方案 问题1:Feign远程调用时丢失请求头 出现这个Feign远程调用时丢失请求头的问题是因为Feign在远程调用的时候会创建一个新的请求,但是这个新的请求里啥都没有,没有cookie值,而这个cookie值里有成功登录后的…