上学期刚修完学校的C++课程,想着学校教的并不是那么全面而且我已经忘的差不多了,所以决定重新学一下C++,毕竟我以后很大可能是找C++方面的工作的,因此打算跟着《C++ Primer》(第五版)这本书过一遍C++,打好基础,为了坚持学完这本书(不那么快放弃… ),我打算把每次的学习笔记都分享出来,记录学习过程。
ps:因为我是学过一遍的,因此有些比较简单的就没记录,就记录一些比较有趣的和课上上没讲过的,第一章因为都是基础知识,所以比较短。
第一章 开始
1.1 编写一个简单的C++程序
在大多数系统中,main的返回值被用来只是状态,返回值0表明成功,非0的返回值的含义由系统定义,通常用来指出错误类型
1.1.1 编译、运行程序
源文件后缀:.cc、.cxx、.cpp、.cp及.C
编译命令: $ CC prog1.cc
访问main的返回值的方法依赖于系统。在UNIX和Windows系统中,执行完一个程序后,都可以通过echo命令获得其返回值
UNIX: echo $?
Windows: echo %ERRORLEVEL%
main函数返回值
main函数返回-1后,控制台显示的是255,是因为系统用8bits的无符号数标识退出状态,所以退出的状态值为0至255。
因此退出状态值不要小于0且不要大于255,因为只有8bits空间承载数值,所以大于255的数值会被截断,不能返回我们期望的数值。
1.2初始输入输出
C++语言并未定义任何输入输出(I/O)语句,取而代之,包含了一个全面的标准库(standard library)来提供IO机制(以及很多其它设施)
istream: cin
ostream: cout、clog、cerr
endl是一个被称为操纵符的特殊值。写入endl的效果是结束当前行,并将与设备管理的缓冲区中的内容刷到设备中
1.3 注释简介
使用界定符对注释时,注释内的每一行都以一个星号开头,从而指出整个范围都是多行注释的一部分
1.4 控制流
while(condition)
statement
读取数量不定的输入数据
#include<iostream>
int main(){
int sum = 0, value = 0;
while(std::cin >> value){
sum += value;
}
std::cout << "Sum is " << sum << std::endl;
return 0;
}
- UNIX终止为
CTRL
+D
1.5 类简介
习惯上,头文件根据其中定义的类的名字来命名。我们通常使用.h作为头文件的后缀,但也有一些程序员习惯.H、.hpp或.hxx。标准库头文件通常不带后缀。编译器一般不关心头文件名的形式,但有的IDE对此有特定要求
包含来自标准库的头文件时,也应该用尖括号(<>)包围头文件名。对于不属于标准库的头文件,则用双引号("")包围。
文件重定向
$ addItems < infie > outfile
1.6 其它
- 默认情况下,读cin会刷新cout;程序非正常终止也会刷新cout。
- clog通常用于报告程序的执行信息,存入一个日志文件中。
最后,这是我第一篇博客,欢迎大家不吝指出问题,不胜感激。