c++标准IO流

流是一种概念模型,简单的想,可以看成是“一串byte”,它从某处产生(originate form somewhere),然后会流到某处去(destination to somewhe),从抽象的层面来看,stream的origination和destination是不需要程序员考虑到,程序员只需要考虑从stream提取怎样的信息,然后需要将什么信息放入stream中即可进行编程。
就常见的编程任务,我们可能会看到这样的代码。
cin >> num;
cout << num;
这里的cin和cout即是对stream的一种抽象的封装。
一般cin和键盘关联,相对完整的概念图大概是这样:
[keybaord]->[OS and driver]->[cin]->[我们自己的程序]
对于我们自己的程序来说,我们不需要考虑keyboard怎样输入,OS和驱动怎样解释,cin对这底下的一切都做了封装,我们只要知道,如果我们要从外界得到一些输入,那么cin就表示了这样的输入,我们只需要从输入的“一串byte中”提取我们的信息即可,即比如输入“123(return)”,那么“一串byte”就是“0x31 0x32 0x33 0x0D”,然后需要int,>>重载就会把这串byte解释成123,然后存入num中。
类似对于cout,概念图大概这样:
[我们自己的程序]->[cout]->[OS and driver]->[monitor]
cout重载<<,我们只要提供int,然后cout会考虑如何让它流化(即变成“一串byte”),并且封装了OS和驱动如何让这些信息最终显示在monitor上。

你可能感兴趣的:(编程语言)