C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

这次要看看C++ Primer,这本基本上就是必读书籍了。下面的内容就是一些之前没有学过的知识的笔记。

读取数量不定的输入数据

虽然很简单,但是还是记一下:

#include <iostream>

int main(){
    int sum = 0, value = 0;
    while(std::cin >> value){
        sum += value;
    }
    std::cout << "sum is: " << sum << std::endl;
    return 0;
}

这里的判断条件是这样的:当使用一个istream队形作为条件时,效果是检测流的状态。如果流有效,即没有遇到错误,那么条件成立;如果遇到文件结束符(end-of-file)或者遇到无效输入(例如这里就是输入要求是整数),那么条件就会不成立,跳出循环。

重点是while中的判断,所以后面的不提。

补充:

  1. 当使用键盘输入数据时,敲入Ctrl + Z然后按下Enter,就可以输入文件结束符。
  2. 标准库类型中istream和ostream都是类
  3. <<是输出运算符,右侧运算对象的值写到左侧运算对象表示的输出流。输出运算符可以连接
  4. >>是输入运算符,从左侧运算对象所指定的输入流读取数据,存入右侧运算对象中。

1字节byte = 8比特bit,1字workd = 4/8字节 = 32/64字节(取决于你的系统是32位/64位)。

类型对应的尺寸

C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

补充一下,其实这里不完整,这里的情况应该是默认在16位的机器上的情况(因为这里int是16位的),如果是别的情况,那么:

C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

【简单翻译一下,就是在16位的机器上的时候int是2字节,即16位,而在32、64位的情况下则是4字节,即32位】

C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

类型转换

C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

字符串分行写

C++ Primer笔记(1)——连续读取数据、类型对应的尺寸、类型转换、字符串分行写法

参考