C++ primer 5th 第一章 开始 阅读笔记
第一章 开始
第一节 编写一个简单的C++程序
不同编译器使用不同的后缀命名约定,比如cc、cpp、c。
比如main程序保存到prog1.cc中,可以使用如下命令来编译它:cc prog1.cc。其中,cc是编译器程序的名字,编译器生成一个可执行文件,Windows系统命名为prog1.exe,UNIX系统中的编译器将可执行文件命名为a.out。
运行GNU编译器的命令是g++,比如:g++ -o prog1 prog1.cc。
运行微软Visual Stdio 2010编译器的命令为cl,比如:cl /EHsc prog1.cpp,命令cl调用编译器,/EHsc是编译器选项,用来打开标准异常处理。微软编译器会自动生成一个可执行文件,其名字与第一个源文件名对应。
在UNIX系统中,可执行文件没有后缀,默认生成a.out的可执行文件。
第二节 初识输入输出
iostream库包含两个基础类型istream和ostream,分别表示输入流和输出流。一个流就是一个字符序列,是从IO设备读入或写入IO设备的。术语“流”想表达的是,随着时间的推移,字符是顺序生成或消耗的。
标准库定义了4个IO对象,cin为istream类型的对象,叫做标准输入。cout是ostream类型的对象,叫做标准输出。标准库还定义了其他两个ostream对象,名为cerr和clog,cerr用来输出警告和错误信息,叫做标准错误,clog用来输出程序运行时的一般性信息。当我们向cout、cerr和clog写入数据时,将会写到同一个窗口。
输出运算符<<接收两个运算对象,左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。运算结果是写入了要打印的值的那个ostream对象。比如:cout << "abc" << endl;相当于(cout << "abc") << endl;,前一个<<执行的结果是写入了"abc"的cout对象。
endl是一个操作符特殊值,写入endl的效果是结束当前行,并将与设备关联的缓冲区(buffer)中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流。
调试是添加的打印语句,应该保证“一直”刷新流,否则如果程序崩溃,输出可能还留在缓冲区中,从而导致关于程序崩溃位置的错误推断。
std::cin指出cin是定义在名为std的命名空间(namespace)中的,命名空间可以帮助我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。
第三节 注释简介
/* */不能嵌套,否则会让*/之前出现的所有/*失效。
第四节 控制流
不断读取数据直至没有新的输入为止:while(cin >> value),其中value是int类型。使用一个istream对象作为条件时,其效果是检测流的状态。如果流是有效的,则流未遇到错误,那么检测成功,当遇到文件结束符,或遇到一个无效输入时(例如读入的值不是一个整数),istream对象的状态会变为无效,然后istream对象会使条件变为假。
Windows系统中,输入文件结束符的方法是敲Ctrl+Z,在UNIX系统中,包括Mac OS X系统中,文件结束符输入是用Ctrl+D。
小结
内置类型:由语言定义的类型,比如int。
::运算符:作用域运算符。其用处之一是访问命名空间中的名字。std::cout表示命名空间std中的名字cout。
C++ primer 5th 第一章 开始 阅读笔记的更多相关文章
- Java 接口与继承 道至简第六章发表阅读笔记
一.继承条件下的构造方法调用 class Grandparent { public Grandparent() { System.out.println("GrandParent Creat ...
- C++ Primer Plus 第一章 预备知识
C++ Primer Plus 第一章 预备知识 知识点梳理 本章主要讲述了C++的由来,讨论了面向过程语言与面向对象语言的区别,介绍了ANSI/ISO制定的C++标准,阐述了在Windows.Mac ...
- 《C++Primer》第五版习题答案--第一章【学习笔记】
C++Primer第五版习题解答---第一章 ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2022/1/7 第一章:开始 练习1.3 #includ ...
- C++ primer的第一章的主要内容
第一章主要是把C++的主要的部分简单的介绍了一下,让读者对C++开始有一个简单的了解.看完第一章的收获就是知道如何去读入不确定数目的输入,主要是形式是:whlie(cin>>s){},利用 ...
- 【TCP/IP详解 卷一:协议】第一章概论 学习笔记
第一章 概述 游览了一下,本章主要是简介OSI模型的低层(1-4层).介绍了TCP/IP协议族的相关知识. TCP/IP的分层 Application <--> TCP / UDP < ...
- Pro Git 第一章 起步 读书笔记
Pro Git 笔记 第1章 起步 1.文件的三种状态. 已提交:文件已经保存在本地数据库中了.(commit) 已修改:修改了某个文件,但还没有提交保存.(vim) 已暂存:已经把已修改的文件放在下 ...
- 第一行代码阅读笔记---AndroidMainfest.xml分析
按照这本书的指引,我随作者一样创建了一个安卓应用,开始了安卓开发的启程. 找到AndroidMainfest.xml这个文件,打开后看到了我创建的Activity在这个文件里被成功注册,文件内容如下: ...
- html5 +css3 第一章学习和笔记
各位同学.身为本版的斑竹.,希望各位童鞋都能学到Html5 .特此没两天更新一个学习笔记和大家一起学习Html5.... 语法改变 1.新增的元素和废除的元素 2.新增的属性和 ...
- 第一行代码阅读笔记----显示隐式Intent的基本用法
1.显示Intent意图明显,通过Intent启动另外一个活动,这是安卓中各组件进行交互的一种重要方式.一般用于启动活动,启动服务,发送广播等场景. 实现方法,这里我只说思路,实践还是要自己实操才能明 ...
- UNIX网络编程卷1 第一章 简介 读书笔记。
基本没讲什么,一点点计算机网络发展史,一点点socket()简单介绍,最重要的是1.3节协议无关性. 协议无关性: 贯穿整本书的一个重要特性,他主要强调的是 socket是网络协议无关的编程接口. s ...
随机推荐
- 基于shp2pgsql将shape文件导入到postgresql中
1. 概述 Shapefile是常用的空间数据文件格式,PostgreSQL数据库是常用的关系型数据库 PostGIS是一个PostgreSQL的空间数据库扩展 ,提供空间信息服务功能,更详细的信息可 ...
- CF1470E 题解 —— 询问分叉转构建虚树的复杂度证明
简要题意:给定一个长为 \(n\) 的排列 \(p\) 和一个整数 \(c\le 4\),称排列 \(p'\) 合法当且仅当 \(p'\) 可以通过 \(p\) 翻转若干个不交的区间 \([l,r]\ ...
- LeetCode-429 N叉树的层次遍历
来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/n-ary-tree-level-order-traversal著作权归领扣网络所有.商业转载请联 ...
- (七) Mysql 之 binlog redolog 二阶段提交
(一)背景知识: 1 binlog binlog 我们中文一般称作归档日志, 是 MySQL Server 层的日志,而不是存储引擎自带的日志,它记录了所有的 DDL 和 DML(不包含数据查询语句) ...
- java学习日记20230302-字符
JAVA字符 char c1 = 97 System.out.println(c1)// a 会输出97代表的字符(字符编码) 字符类型细节: 字符常量用单引号 java中允许使用\转义字符代表一个字 ...
- element-ui下表格头部字段hover显示tips信息
记录一下表格头部加hover之后显示tips信息循环,或单独的el-table-column都可以哦 <el-table-column prop="name&q ...
- VMware Workstation Pro 16、docker和Mysql相关
VMware Workstation Pro 16安装参考 docker容器的使用参考 Docker 容器使用 Docker Hub资源 Docker Hub Mysql数据库安装参考 Mysql数据 ...
- go语言 cmd执行命令,遇到空格或者双引号无法执行成功的解决方案
大部分go执行cmd命令都是,我也是这样写的 package main import ( "fmt" "os/exec" ) func main() { cmd ...
- 【面试题】 用vue想要拿20k,面试题要这样回答(源码版)
总结给大家推荐一个实用面试题库 1.前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 2.前端技术导航大全 推荐:★★★★★ 地址:前端技术导航大全 ...
- oracle 2个数组列,剔除数组重复的数据。
一.下面这样不规则的,数据如何剔除掉.循环筛选replace替换掉. 序号 正常时间 剔除时间 1 2022-12-19,2022-12-20,2022-12-21,2022-12-22,202 ...