学习方法

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)

包含了两个类型 istreamostream

流(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 语句。

关于 forwhile 的区别可见: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 阅读笔记:入门指南的更多相关文章

  1. Muduo阅读笔记---入门(一)

    第一步:下载源码和文档 下载muduo项目的源码.<muduo-manual.pdf>文档,以及<Linux多线程服务端编程:使用muduo C++网络库.pdf>,这些是前期 ...

  2. C++ Primer Plus阅读笔记

    cin进行文本输入 使用cin获取字符的基本方式 char ch; cin >> ch; cin读取char值时将忽略空格和换行符.此外,发送给cin的输入被缓冲.这意味着只有在用户按下回 ...

  3. C-C Primer Plus阅读笔记

    常用头: stdio.h string.h inttypes.h limits.h float.h 1.打印short.long.long long和unsigned #include <std ...

  4. Webpack v4.8.3 快速入门指南

    一.进入 https://webpack.docschina.org/ 官方文档,点击 "文档" 进入 文档页面,文档中包含  “概念,配置,API,指南,LOADERS,插件&q ...

  5. 【读书笔记】C++ primer 5th 从入门到自闭(一)

    这几天看了C++ primer 5th的一二章,有很多收获,但是有的地方因为翻译的问题也搞得理解起来颇为难受啊啊啊啊.尤其是const限定符,在C语言并没有这么多复杂的语法,在C++里面语法细节就多的 ...

  6. 《Java多线程编程实战指南(核心篇)》阅读笔记

    <Java多线程编程实战指南(核心篇)>阅读笔记 */--> <Java多线程编程实战指南(核心篇)>阅读笔记 Table of Contents 1. 线程概念 1.1 ...

  7. ESP8266文档阅读ESP8266 SDK 入门指南

    ESP8266 SDK  入门指南 1.概述 1.2.ESP8266 HDK 1.3.ESP8266 SDK 1.4.ESP8266 FW 1.5.ESP8266 工具集 2.1.开发板方案 3.软件 ...

  8. Kafka 权威指南阅读笔记(第三章,第四章)

    Kafka 第三章,第四章阅读笔记 Kafka 发送消息有三种方式:不关心结果的,同步方式,异步方式. Kafka 的异常主要有两类:一种是可重试异常,一种是无需重试异常. 生产者的配置: acks ...

  9. C++ Primer 第四版阅读笔记

    阅读笔记 初始化 变量定义指定了变量的类型和标识符,也可以为对象提供初始值.定义时指定了初始值的对象被称为是 已初始化的.C++ 支持两种初始化变量的形式:复制初始化和 直接初始化.复制初始化语法用等 ...

  10. Ext JS 6学习文档–第1章–ExtJS入门指南

    Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS ...

随机推荐

  1. 网络数据请求get&post

  2. FreeType 矢量字体 测试移植(1)

    之前有做过 ascii 和汉字库的字体点阵在lcd上显示的例子,都是按照指定大小的字库的点阵来显示的,所以一但选定了字体文件后,就固定了大小,不可变化,当然也可以存放各种 大小的字体文件,但这样的话就 ...

  3. P1706 全排列问题(DFS)

    全排列问题 题目描述 按照字典序输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入格式 一个整数n 输出格式 由1 ~ n组成的所有不重复的数字序列 ...

  4. R 字符串操作超全总结

    paste函数和paste0()函数 连接字符 > paste("a", 1:3) #默认空格符连接,即sep=" " [1] "a 1&quo ...

  5. Javaweb学习笔记第八弹

    继续MyBatis学习 SQL语句警告提示问题 产生原因:IDEA和数据库没有建立连接,不识别表的信息 解决方式:在IDEA中配置MySQL数据库连接 在IDEA的Maven项目中,如果想要直接通过I ...

  6. 使用chatgt(GPT-4)将过程式(的java代码)改成函数式(的elixir代码)

    天啦噜太可怕了,之前我还嘲笑chatgpt不会小众语言来着. chatgt(GPT-4)在接收2次prompt后,把过程式(的java代码)改成了函数式(的elixir代码),给出的Elixir代码可 ...

  7. 如果您喜欢我的博客可以进行RSS订阅

    如果喜欢我的博客,你也可以订阅我的博客 http://www.cnblogs.com/yhm138/rss 有时间的话我会写一篇菜鸟玩转RSS的介绍,或者你看这篇推送 2020-12-15填坑 我理解 ...

  8. SQL server分页的三种方法

    一.Entity Framework的Linq语句的分页写法: var datacount = test.OrderBy(t => t.testID) .Skip(pageSize * (pag ...

  9. 百度生成式AI产品文心一言邀你体验AI创作新奇迹:百度CEO李彦宏详细透露三大产业将会带来机遇(文末附文心一言个人用户体验测试邀请码获取方法,亲测有效)

    目录 中国版ChatGPT上线发布 强大中文理解能力 智能文学创作.商业文案创作 图片.视频智能生成 中国生成式AI三大产业机会 新型云计算公司 行业模型精调公司 应用服务提供商 总结 获取文心一言邀 ...

  10. 基于VirutalBox搭建虚拟机间互通的可访问公网的mini主机群

    目标 在单台PC机上安装3+台虚拟机[1] 这些虚拟机间可以相互访问 宿主机[2]与虚拟机可以相互访问 虚拟机可以访问公网 本文将采用 NAT + Host-Only 双网卡的方式实现上述目标,因为采 ...