开始
1. 如何制定编译器的版本来支持c++xx的支持
g++ -std=c++11 -o main main.cpp #支持c++11
g++ -std=c++14 -o main main.cpp #支持c++14
2. 输入输出流iostream
随着时间的推移,字符是顺序生成或消耗的
标准库定义了4个IO对象
- std::cin 标准输入 类型为istream
- std::cout 标准输出 类型为ostream
- std::cerr 标准错误,输出警告和错误信息 类型为ostream
- std::clog 输出程序运行时的一般性信息 类型为ostream
根据4个类型可以很明显看出cout、cerr、clog输出会写到同一个窗口。
-
std::endl
endl被称为操作符。它能够将与设备关联的缓冲区(buffer)中的内容刷新到设备中,可以保证到目前为止程序所产生的所有输出都真正写入到输出流中,而不仅停留在内存中等待写入流。 -
输出运算符 <<
两边接受两个运算对象,左侧必须为ostream对象,右侧为要打印的对象,作用是将要打印的值写入到ostream对象中。 -
输入运算符 >>
两边接受两个运算对象,左侧必须为istream对象读入数据,右侧为要写入的对象,作用是将istream读入到数据写入到右侧的对象中。
注释
注释界定符不能嵌套。会让外层的结尾注释界定符失效,因为会优先匹配前面的界定符。
/*
嵌套/* */嵌套 //错误的
*/
读取数量不定的输入数据
while(std::cin >> value) //读到文件尾退出循环
上面这行代码检测的是std::cin这个istream对象,当遇到文件结束符(end-of-file),或遇到一个无效输入时(例如读入的值和value的类型不一致时),istream对象的状态会变为无效。处于无效状态的istream对象会使条件为false。
编译器的错误
- Syntax error
C++语法错误。 - Type error
C++中数据类型错误。 - Declaration error
C++中有的变量没有声明就使用了。
文件重定向
main <inputfile> outfile
在终端终执行上述命令可以自动读入输入数据,并将输出数据输出到outfile。