C++ primer (5th) 随想与学习笔记 7 执行流程永不变 新标准添精彩

2024-03-20 17:58

本文主要是介绍C++ primer (5th) 随想与学习笔记 7 执行流程永不变 新标准添精彩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第五章:语句

C++提供一组控制流语句(flow-of-control)支持复杂的执行流程。

5.1 简单语句

语法上需要一条语句、但逻辑上不需要时,加上分号;是好的习惯,这在我看别人的代码学到的!使用分号;要注意,特别是在while、if等语句里。

5.2 语句作用域

块不以分号做结束,它起着作用域的功能。

5.3 条件语句

if-else and switch

给if-else、while和for语句后加上括号可以避免代码混乱不清,另外也解决的不必要的悬垂else(dangling else)问题。

switch语句里的case标签(case label)必须是整型常量表达式。

下面这种写法是对的,并且有很多是值得考虑的

switch (ch)
{case 'a': case 'e': case 'i': case 'o': case 'o':++vowelCnt;break;
}
除了定义default标签,最好还要在最后的case标签加上break。

跨标签的定义容易引起错误,用块{}把它限定在某个case下。

5.4 迭代语句

for while do-while

C++11标准新添加了范围for语句(range of statement),形式为:

for (declaration : expression)statement
expression是能返回迭代器begin和end成员的序列,想对序列中的元素执行写操作,变量必须声明成引用类型。经典案例:
vector<int> v = {0,1,2,3,4,5,6,7,8,9};
for (auto &r : v) 
r *= 2;
do-while和while相似,但由于do-while必执行一次,do-while中条件使用的变量必须定义在循环体外。

5.5 跳转语句

break,continue,goto,return。

break用于迭代语句和switch语句,continue只用与迭代语句和带迭语句的switch里,break表示跳出,continue表示进行下一次循环。

不要使用goto语句,其实还是选择性的用吧!别忘了return也是跳转语句。

5.6 try语句块和异常处理

try中抛出异常,catch来捕获处理。exception和stdexcept是标准的异常类,应该很有用!

这一章挺简单的,码完收工,回去睡了!


这篇关于C++ primer (5th) 随想与学习笔记 7 执行流程永不变 新标准添精彩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/830280

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

如何使用 Bash 脚本中的time命令来统计命令执行时间(中英双语)

《如何使用Bash脚本中的time命令来统计命令执行时间(中英双语)》本文介绍了如何在Bash脚本中使用`time`命令来测量命令执行时间,包括`real`、`user`和`sys`三个时间指标,... 使用 Bash 脚本中的 time 命令来统计命令执行时间在日常的开发和运维过程中,性能监控和优化是不

C#如何优雅地取消进程的执行之Cancellation详解

《C#如何优雅地取消进程的执行之Cancellation详解》本文介绍了.NET框架中的取消协作模型,包括CancellationToken的使用、取消请求的发送和接收、以及如何处理取消事件... 目录概述与取消线程相关的类型代码举例操作取消vs对象取消监听并响应取消请求轮询监听通过回调注册进行监听使用Wa

PHP执行php.exe -v命令报错的解决方案

《PHP执行php.exe-v命令报错的解决方案》:本文主要介绍PHP执行php.exe-v命令报错的解决方案,文中通过图文讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录执行phpandroid.exe -v命令报错解决方案执行php.exe -v命令报错-PHP War