这次要看看C Primer,这本基本上就是必读书籍了。下面的内容就是一些之前没有学过的知识的笔记。
读取数量不定的输入数据
虽然很简单,但是还是记一下:
代码语言:javascript复制#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
中的判断,所以后面的不提。
补充:
- 当使用键盘输入数据时,敲入Ctrl Z然后按下Enter,就可以输入文件结束符。
- 标准库类型中istream和ostream都是类
<<
是输出运算符,右侧运算对象的值写到左侧运算对象表示的输出流。输出运算符可以连接>>
是输入运算符,从左侧运算对象所指定的输入流读取数据,存入右侧运算对象中。
1字节byte = 8比特bit,1字workd = 4/8字节 = 32/64字节(取决于你的系统是32位/64位)。
类型对应的尺寸
补充一下,其实这里不完整,这里的情况应该是默认在16位的机器上的情况(因为这里int
是16位的),如果是别的情况,那么:
【简单翻译一下,就是在16位的机器上的时候int
是2字节,即16位,而在32、64位的情况下则是4字节,即32位】