C++ Primer 5th 阅读笔记:入门指南
学习方法
The way to learn a new programming language is to write programs.
学习一门新编程语言的方式是编写程序。
函数(Function)
函数的四部分:
- 返回类型;
- 函数名;
- 参数列表;
- 函数体。
main 函数返回值(Return Code)
0:表示正常;
其他:表示异常。
类型(Type)
Types are one of the most fundamental concepts in programming
类型是编程中最核心的概念。
A type defines both the contents of a data element and the operations that are possible on those data
类型定义了一个数据元素的内容和操作。
C++ 文件名后缀(Extension)
.cc.cxx.cpp.cp.C
返回码(Return Code)
- UNIX:
echo $? - Windows:
echo %ERRORLEVEL%
IO(Input and Output)
标准库 iostream 提供了输入输出功能。
两个类型(Type)
包含了两个类型 istream 和 ostream。
流(stream) 是一串字符序列,它从 IO 设备中读取或者写入 IO 设备中。
四个对象(Object)
cin:标准输入;cout:标准输出;cerr:标准错误;clog:日志信息。
头文件(Header)
语句 #include<iostream>,包含在 <...> 中的 iostream,我们称之为头文件(header)。
#include 命令(directive)
- 不能包含在函数内;
- 出现在源文件开头。
字符串字面量(String Literal)
字符串字面量是包含在双引号中的一串字符序列。
控制符(manipulator)
std::endl 是一个控制符,作用是写入一个换行符同时刷新缓冲区。
命名空间
为避免命名冲突,所有标准库中定义的名称都属于 std 命名空间。
注释
An incorrect comment is worse than no comment at all because it may mislead the reader.
一个错误的注释比没有注释更加糟糕。
- 单行注释:
//标志开始,换行符表示结束; - 块注释:
/*标志开始,*/标志结束。
循环
while 语句
while(condition)
statement
for 语句
for(init; condition; expression)
statement
对于循环次数确定的情况,我们使用 for 语句;对于循环次数未知的情况,我们使用 while 语句。
关于
for和while的区别可见:https://stackoverflow.com/questions/2950931/for-vs-while-in-c-programming
流对象作为条件
C++ 支持这样的语句 while (std::cin >> value),语句的作用是检查流对象的状态(对于输入流,检查流是否遇到错误或者文件结束指示符 EOF)。流状态正常,条件成立;流状态异常,条件失败。
分支
if (condition)
statement
类(Class)
In fact, a primary focus of the design of C++ is to make it possible to define class types that behave as naturally as the built-in types.
事实上,C++ 的一个设计重点就是使得自定义的类类型可以表现得和内建类型一样自然。
我们通过定义类来定义自己的数据结构。
类三要素:
- 类名;
- 头文件位置;
- 支持的操作。
头文件名一般与类名相同。自定义头文件的后缀一般为,
.h.hxx.hpp.H
类作者可以定义所有与类有关的操作,
- 创建时的操作;
- 赋值时的操作;
- 相加时的操作;
- 输出时的操作;
- 输入时的操作;
- 等等
文件重定向(File Redirection)
使用文件重定向来避免重复输入。
addItems <infile >outfile
成员函数(Member Function)
成员函数,有时也称为「方法」,是一个函数,其作为类的一部分。
我们通过 . 操作符来访问类对象的成员。比如 obj.member,. 操作符左侧必须是类对象,右侧是类对象的成员。
C++ Primer 5th 阅读笔记:入门指南的更多相关文章
- Muduo阅读笔记---入门(一)
第一步:下载源码和文档 下载muduo项目的源码.<muduo-manual.pdf>文档,以及<Linux多线程服务端编程:使用muduo C++网络库.pdf>,这些是前期 ...
- C++ Primer Plus阅读笔记
cin进行文本输入 使用cin获取字符的基本方式 char ch; cin >> ch; cin读取char值时将忽略空格和换行符.此外,发送给cin的输入被缓冲.这意味着只有在用户按下回 ...
- C-C Primer Plus阅读笔记
常用头: stdio.h string.h inttypes.h limits.h float.h 1.打印short.long.long long和unsigned #include <std ...
- Webpack v4.8.3 快速入门指南
一.进入 https://webpack.docschina.org/ 官方文档,点击 "文档" 进入 文档页面,文档中包含 “概念,配置,API,指南,LOADERS,插件&q ...
- 【读书笔记】C++ primer 5th 从入门到自闭(一)
这几天看了C++ primer 5th的一二章,有很多收获,但是有的地方因为翻译的问题也搞得理解起来颇为难受啊啊啊啊.尤其是const限定符,在C语言并没有这么多复杂的语法,在C++里面语法细节就多的 ...
- 《Java多线程编程实战指南(核心篇)》阅读笔记
<Java多线程编程实战指南(核心篇)>阅读笔记 */--> <Java多线程编程实战指南(核心篇)>阅读笔记 Table of Contents 1. 线程概念 1.1 ...
- ESP8266文档阅读ESP8266 SDK 入门指南
ESP8266 SDK 入门指南 1.概述 1.2.ESP8266 HDK 1.3.ESP8266 SDK 1.4.ESP8266 FW 1.5.ESP8266 工具集 2.1.开发板方案 3.软件 ...
- Kafka 权威指南阅读笔记(第三章,第四章)
Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...
- C++ Primer 第四版阅读笔记
阅读笔记 初始化 变量定义指定了变量的类型和标识符,也可以为对象提供初始值.定义时指定了初始值的对象被称为是 已初始化的.C++ 支持两种初始化变量的形式:复制初始化和 直接初始化.复制初始化语法用等 ...
- Ext JS 6学习文档–第1章–ExtJS入门指南
Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS ...
随机推荐
- 8-WebShell总结
WebShell 1.webshell介绍 在计算机科学中,Shell 俗称壳(用来区别"核"),是指"为使用者提供操作界面"的软件(命令解释器).类似于win ...
- C#向其实进程子窗体发送指令
近日,想在自己的软件简单控制其它软件的最大化最小化,想到直接向进程发送指令,结果一直无效,经过Spy++发现,原来快捷方式在子窗体上,所以需要遍历子窗体在发送指令,以下为参考代码: 1 [DllImp ...
- JWT用户认证体系
依赖 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifa ...
- flask - fastapi (python 异步API 框架 可以自动生成swagger 文档) 常用示例 以及整合euraka nacos
flask - fastapi (python 异步API 框架 可以自动生成swagger 文档) 常用示例: 之前使用 flask 需要手动写文档, 这个可以自动生成, fastapi ...
- 基于 Agora SDK 实现 iOS 端的多人视频互动
视频互动直播是当前比较热门的玩法,我们经常见到有PK 连麦.直播答题.一起 KTV.电商直播.互动大班课.视频相亲等. 本文将教你如何通过声网Agora 视频 SDK 在iOS端实现一个视频直播应用. ...
- 重学c#系列—— explicit、implicit与operator[三十四]
前言 我们都知道operator 可以对我们的操作符进行重写,那么explicit 和 implicit 就是对转换的重写. 正文 explicit 就是强制转换,然后implicit 就是隐式转换. ...
- CAS 6.x + Delegated Authentication SAML2.0 配置记录
最近领导派了一个活儿, 需要把我们CAS系统的身份识别交给甲方的系统, 甲方的系统是SAML2.0的协议. 由于之前对SAML2.0协议了解不多,折腾了不少时间,在这里记录一下.以后忘掉还可以看看. ...
- .Net 6.0全局异常捕获
背景: 全局异常捕获是我们开发当中不可获取的一个环节,顾名思义就是全局的捕获异常,并响应出去,今天就带着各位童鞋们在.Net 6.0当中如何做到全局异常捕获. 思路: 我们可以通过请求管道达到我们全局 ...
- vRealize Operations Manager 安全补丁修复
vRealize Operations Manager 安全补丁修复 背景:记录一次安全同事在检测中发现 vRealize Operations Manager 存在安全漏洞,需要整改修复,于是到VM ...
- 一次spark任务提交参数的优化
起因 新接触一个spark集群,明明集群资源(core,内存)还有剩余,但是提交的任务却申请不到资源. 分析 环境 spark 2.2.0 基于yarn集群 参数 spark任务提交参数中最重要的几个 ...