C++系统预定义4个用于标准数据流对象

C++系统预定义4个用于标准数据流对象

cin   cout   cerr   clog

C++里关于cerr,clog,cout三者的区别:
cerr(无缓冲标准错误)-----没有缓冲,发送给它的内容立即被输出
clog(有缓冲标准错误)--------有缓冲,缓冲区满时输出
cout-------------------------标准输出

联系:三个都是ostream类定义的输出流对象,

cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,

但是当向cout流插入一个endl,不论缓冲区是否漫了,都立即输出流中所有数据,然后插入一个换行符.
cerr流对象是标准错误流,指定为和显示器关联,和cout作用差不多,有点不同就是cout
通常是传到显示器输出,但可以被重定向输出到文件,而cerr流中的信息只能在显示器输出.
clog流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出.

时间: 2024-10-05 06:54:53

C++系统预定义4个用于标准数据流对象的相关文章

关于标准C语言的预定义宏

标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义.下面预定义宏表,被我抄了下来.__LINE__  当前程序行的行号,表示为十进制整型常量__FILE__  当前源文件名,表示字符串型常量__DATE__转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的.__TIME__ 转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产

预定义宏,C语言预定义的宏详解

1.预定义宏 对于预定义宏,相信大家并不陌生.为了方便处理一些有用的信息,预处理器定义了一些预处理标识符,也就是预定义宏.预定义宏的名称都是以"__"(两条下划线)开头和结尾的,如果宏名是由两个单词组成,那么中间以"_"(一条下划线)进行连接.并且,宏名称一般都由大写字符组成. 在日常项目编程中,预定义宏尤其对多目标平台代码的编写通常具有重大意义. 通过预定义宏,程序员使用"#ifdef"与"#endif"等预处理指令,就可使

Calabash-android 预定义steps

Calabash-android目录下的canned_steps.md中列出了一系列预定义的steps,这些steps的定义位于calabash-android\steps\目录下.本文将介绍这些steps和用法. 1.断言steps:定义在assert_steps.rb中 断言看到了文本: Then /^I see the text "([^\"]*)"$/ Then /^I see "([^\"]*)"$/ Then /^I should s

全国公积金系统五花八门 住建部拟统一标准

住房公积金制度1991年始于上海,意在以互助方式解决职工住房问题.然而,时过境迁,伴随房价上涨,一些无力购房群体只能眼看住房公积金变成沉睡账户,公积金"劫贫济富"的争议不断. (中国商网综合报道)住房公积金制度1991年始于上海,意在以互助方式解决职工住房问题.然而,时过境迁,伴随房价上涨,一些无力购房群体只能眼看住房公积金变成沉睡账户,公积金"劫贫济富"的争议不断.此前一段时间,多地陆续出台新规:武汉规定月收入1900元以下可提取公积金:苏州出台政策,规定2014

helm chart预定义值

预定义值 通过values.yaml文件(或通过--set 标志)提供的值可以从.Values模板中的对象访问.可以在模板中访问其他预定义的数据片段. 以下值是预定义的,可用于每个模板,并且不能被覆盖.与所有值一样,名称区分大小写. Release.Name:release的名称(不是chart的) Release.Time:chart版本上次更新的时间.这将匹配Last Released发布对象上的时间. Release.Namespace:chart release发布的namespace.

Linux系统下的shutdown命令用于安全的关闭/重启计算机

Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执行shutdown命令时,系统会给每个终端(用户)发送一条屏显,提示关机操作.定时关机只需要一个简单的参数,既可以是倒计时,也可以是确切的时间. 命令格式 1 shutdown [选项] [时间] [消息] 并有如下选项: - k 不执行任何关机操作,只发出警告信息给所有用户 - r 重新启动计算机 - h 关机并彻底断电 - f 快速关机且重启动时跳过fsck

什么是嵌入式系统 嵌入式系统的定义

很多人想要从事嵌入式方面的工作,认为嵌入式方面的工作薪资高来钱快,但是想要入嵌入式这一行业,必须了解嵌入式与嵌入式系统 近端时间很多人讲嵌入式与嵌入式系统分不清楚,对于这一问题,今天创客学院嵌入式培训讲师跟大家解析一下:什么是嵌入式系统,嵌入式系统的定义. 什么是嵌入式系统 嵌入式系统的定义 根据网络上搜索到的关于嵌入式系统的定义,结合对嵌入式系统的理解,把嵌入式系统定义如下: 1. 嵌入式系统简单的说就是面向特定应用设计的专用计算机系统. 2.嵌入式系统与普通的PC或者notebook不同,嵌

grunt-contrib-watch 监控 JS 文件改变来运行预定义的Tasks

依赖于 GruntJs ~0.4.0 监控 JS 文件改变来运行预定义的Tasks Demo: watch: { scripts: { files: ['src/**/*.js'], tasks: ['jshint'], options: { spawn: false } } }, 引用: https://www.npmjs.com/package/grunt-contrib-watch

接口实际上是定义一个规范、标准

接口往往被我们定义成一类XX的东西. 接口实际上是定义一个规范.标准. ① 通过接口可以实现不同层次.不同体系对象的共同属性: 通过接口实现write once as anywhere. 以JAVA数据库连接为例子:JDBC制定标准:数据厂商实现标准:用户使用标准. 接口通常用来屏蔽底层的差异. ②接口也因为上述原因被用来保持架构的稳定性. 1 package TomText; 2 //算术运算符的使用示例. 3 public class TomText_34 { 4 public static