本博客为阅读《C++ Primer》(第5版)的读书笔记

ps:刚开始的时候我将所有的笔记都放在一篇博客中,等看到第六章的时候发现实在是太多了,导致我自己都不想看,为了日后回顾(不那么有心理压力),我将笔记拆分为一章一章的。

  • 在大多数系统中,main的返回值被用来指示状态。返回值0表示成功,非0的返回值的含义由系统定义,通常用来指出错误类型。在Unix中程序运行以后返回值保存在$?中(必须在刚运行后打印输出)
  • 编译时可能需要加上-std=c++11打开对C++11标准的支持,一般会加上-Wall参数,可以对有问题的程序结构发出警告
  • 如果想要通过打印语句进行调试,一定要及时使用endl操纵符刷新流,否则如果程序崩溃,可能无法得到输出信息,从而导致关于程序崩溃位置的错误推断
  • 标准库定义的所有名字都在命名空间std中
  • /**/之间不能包含*/,可以包含/*//
  • 当我们使用一个istream对象作为条件时,其效果是检测流的状态。如果流是有效的(未遇到错误)检测成功,当遇到文件结束符(end-of-file),或遇到一个无效输入时,istream对象的状态会变为无效,返回假
  • Unix系统中,文件结束符为Ctrl+D
  • 按照编译错误报告的顺序来逐个修正错误,因为错误经常有传递效应,后面的错误经常是由前面的错误引起的。在每修改一个(或一小部分)明显的错误后就重新编译
  • cin进行循环读入的格式为while(cin>>x)。但是如果用Ctrl+C中断读入会导致cin失效
  • cinscanf的输入速率进行了测试,一般情况下cinscanf慢许多,在读入规模在1e6规模就会有明显的差距。但是可以用ios::sync_with_stdio(false);加速流,这样会关闭和stdio的同步,在网上查了一下,这就要求我们在混用coutprintf的时候都要及时清空缓冲区(输出endl或者\n),问题不大。在加速流以后,cinscanf的效率差不多,在1e8数量级的时候cin的效率超过了printf(实测)
  • 注意判等运算符为==,为了避免写成=出错,一个良好的编程习惯是常量 == 变量,这样如果我们写错了就会报错
  • 标准头文件一般不加后缀,包含来自标准库的头文件时,应该使用<>包围头文件,对于不属于标准库的头文件,则用""包围
  • 为了使用一个类,我们不必关心它是如何实现的,只需要知道类对象可以执行什么操作
  • 点运算符.的运算结果是右侧运算对象指定的成员,调用运算符()里面放置参数列表。
  • 缓冲区是一个存储区域,用于保存数据。IO设施通常将输入(输出)数据保存在一个缓冲区中,读写缓冲区的动作与程序中的动作是无关的。我们可以显式地刷新缓冲区,以便强制将缓冲区中的数据写入输出设备。默认情况下,读cin会刷新cout,程序非正常终止也会刷新cout
  • 类类型的变量如果未指定初值,则按类定义指定的方式进行初始化。定义在函数内部的内置类型变量默认是不初始化的,除非有显式的初始化语句

C++Primer学习笔记:第1章 开始相关推荐

  1. C++ Primer 学习笔记 第一,二章

    2021年4月4日,我终于开始学习C++啦,下面的笔记会记录着我的心酸的学习历程,每个标题会记录着下面代码在<C++中文版 Primer>中的页码 P6 实现两数之和 # include ...

  2. C++ Primer 学习笔记 第十七章 标准库特殊设施

    标准库特殊设施 637 初始化tuple #include <iostream> #include <vector> #include <string> #incl ...

  3. C++ Primer 学习笔记(第四章:表达式)

    2019独角兽企业重金招聘Python工程师标准>>> ##C++ Primer 学习笔记(第四章:表达式) [TOC] ###4.1 基础 左值和右值: 当一个对象被用作右值的时候 ...

  4. 《C Primer Plus》学习笔记—第9章

    目录 <C Primer Plus>学习笔记 第9章 函数 1.复习函数 1.引入 2.创建并使用简单的函数:程序lethead1.c 3.分析程序 4.函数参数 1.程序lethead2 ...

  5. 《C Primer Plus》学习笔记—第12章

    目录 <C Primer Plus>学习笔记 第12章 存储类别.链接和内存管理 1.存储类别 1.作用域 2.链接 3.存储期 4.自动变量 1.程序hiding.c 2.没有花括号的块 ...

  6. 《C Primer Plus》学习笔记—第14章

    目录 <C Primer Plus>学习笔记 第14章 结构和其他数据形式 1.示例问题:创建图书目录 1.程序book.c 2.建立结构声明 3.定义结构变量 1.初始化结构 2.访问结 ...

  7. c++primer学习笔记

    c++ primer 5e学习笔记 第1章 1.标准库 类型和函数的集合,每个c++编译器都必须支持. 2.()运算符:调用运算符.跟随在函数名后,起调用函数的作用 第2章 1.p32:char在一些 ...

  8. CCSP-防火墙学习笔记第6章

    CCSP-防火墙学习笔记第6章-Netemu首发 第6章刚刚完成,排版上更具层次化,等第7章完结后,将会重新把1-7章的内容编好目录.作为Cisco防火墙学习笔记的初级篇发布 高级特性将会在第8章讨论 ...

  9. Programming Entity Framework-dbContext 学习笔记第五章

    ### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的 ...

  10. 机器学习理论《统计学习方法》学习笔记:第二章 感知机

    <统计学习方法>学习笔记:第二章 感知机 2 感知机 2.1 感知机模型 2.2 感知机学习策略 2.2.1 数据的线性可分性 2.2.2 感知机学习策略 2.3 感知机学习算法 2.3. ...

最新文章

  1. Discuz NT 架构剖析之Config机制
  2. 编程之美-构造数独方法整理
  3. 清理buffer/cache/swap的方法梳理
  4. centos5.5中安装mysql5.5.3
  5. 浅析 record 使用场景
  6. OpenCV如何修改Mat中某像素(某通道的数值)
  7. java中decrement,Java Math decrementExact()用法及代码示例
  8. Python3 ORM hacking
  9. [LeetCode] Permutations II
  10. 07- HTTP协议详解及Fiddler抓包
  11. 使用RDP报表工具实现多级表头动态列
  12. php一句话跨域,php跨域怎么解决
  13. AutoRunner 功能自动化测试项目实训之常见问题(十)
  14. 计算机win7设置用户密码,怎么给win7电脑设置开机密码_w7电脑开机密码怎么设置...
  15. 【网页处理与文本分析】某电视剧弹幕信息情感分析
  16. pip install xx 时遇到There was a problem confirming the ssl certificate...的解决办法
  17. 计算机网络中的层次结构
  18. Selenium自动化测试代理问题
  19. JAVA版本号的问题 Java版本号与JDK版本
  20. function介绍

热门文章

  1. 通过ifrmae异步下载文档
  2. Linux Shell——函数的使用
  3. SELinux入门简介
  4. 【P1835】小红花
  5. ARC_xp_20160530
  6. Javascript常用的设计模式详解
  7. Linux中的Ramdisk和Initrd
  8. 服务器建网站www无法访问,IIS6服务器搭建网站无法访问解决方案总结_DOIT.com.cn...
  9. python 线型_CCF 202006-1 线性分类器 python
  10. mybatis源码_Mybatis源码之SqlSession