《C++ Primer》【Chapter 1】

开始

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。

posted @ 2022-03-21 19:45  Dybala21  阅读(36)  评论(0编辑  收藏  举报