学习方法

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. TCP idle timeout 和TCP Keepalive 比较和分析

    TCP  idle timeout  和TCP Keepalive  是两个独立的功能. TCP  idle timeout  TCP  idle timeout  是系统TCP配置文件中的空闲超时设 ...

  2. Conda简单教程 - 搬运

    Conda简单教程 转自:https://www.cnblogs.com/nuccch/p/15046969.html 目录 什么是Conda 安装Conda 虚拟环境管理 模块管理 何时使用Cond ...

  3. STM32 系统初始化

    #include "system.h" void system_init(void){ //系统中断设置,抢占优先级0~15,无子优先级 NVIC_PriorityGroupCon ...

  4. 布局管理器wx.BoxSizer

    b = wx.BoxSizer( wx.VERTICAL ) b.Add(self.notebook1, 1, wx.EXPAND) self.parent.SetSizer(b) 解析以上代码原理, ...

  5. AOP的九点核心概念和作用

    AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软件开发中的一个热点 ...

  6. springboot邮箱验证功能部署到服务器后报25 timeout的解决方式

    可以写在application.yml中或者 写在配置类中, 如下; 原理就是更改端口,并且配置ssl的相关配置 package com.wfszmg.config; import org.sprin ...

  7. ES6let const

    let const class 类 import 引入模块 export 暴露接口 // var a = 10; // let b = 20; // const c = 30; var和let比 co ...

  8. Python中实现单例的几种方式

    Python如何实现单例? 什么是单例模式? 单例模式:一个类只能有一个实例化对象存在的模式. 如何实现单例? 1.使用模块 python中模块是天然的单例模式,当一个模块被调用时,会生成对应的.py ...

  9. [数据库/MySQL]数据库备份与升级:MySQL Percona(RPM) 5.7.24-27 升级到 5.7.31-34

    1 数据库升级方式:RPM包方式升级 [亲测有效] 环境 OS: CENTOS 7 DB: MYSQL 5.7.24-27 1.1 数据库备份 备份以防止升级失败 备份数据库的2个主要方法: 1)用M ...

  10. 用 Go 剑指 Offer 12. 矩阵中的路径

    给定一个 m x n 二维字符网格 board 和一个字符串单词 word .如果 word 存在于网格中,返回 true :否则,返回 false . 单词必须按照字母顺序,通过相邻的单元格内的字母 ...