ostreamostream类预先定义的类对象
本文目录一览:
- 1、C++关于ostream的疑问
- 2、C++里面ostream是干什么的
- 3、C++中basic_ostream与ostream的区别
- 4、C++中 ostream& out有什么作用
- 5、C++中ostream的用法。
C++关于ostream的疑问
原因是:流对象是不可以拷贝的。 你把* 删除之后,f = cout; 就是一个复制语句,是非法的。
在以前版本的VC++中,流类的复制操作和复制构造函数被声明为Private,所以外部代码是无法调用的,也就实现了防止复制的效果。
而你用的Visual Studio 2013扩展了delete语法(C++11)用于删除函数,这种扩展可以使得某个函数无法被调用。
下图是Visual studio 2015 ostream.h文件中截取的代码片段:
红色框包围的就是ostream类模版的复制构造函数。注意:ostream类实际上是basic_ostream类模板的一个实例。
通过观察可以发现:即使拷贝构造函数的访问控制修饰是public,但是由于后面添加了 = delete; 使得该函数无法被调用,所以你的代码就提示 "它是已删除的函数"。
ostream流类没有默认构造函数,所以删除* 之后你的代码还有一个错误。
C++里面ostream是干什么的
ostream是output stream的简称,即输出流。\x0d\x0a在C++中用来输出。\x0d\x0a一个典型的输出流对象就是在C++中标准输出流cout。\x0d\x0a在C++中,很少自定义ostream的对象,更多的是直接使用cout。\x0d\x0a\x0d\x0aostream这个类型,往往出现在
回答于 2022-11-16
C++中basic_ostream与ostream的区别
basic_ostream 是模板化的 ostream。
如果说 ostream 操纵的是 char 类型的字符,那么 basic_ostream 操纵的是任意给定类型的字符。比如 basic_ostreamwchar_t 可以按宽字符输出数据。basic_ostreamjchar 可以按 jchar 的形式输出数据(这里 jchar 是用户自己定义的字符类型)。
ostream 等于 basic_ostreamchar
不过一般不需要用到 basic_ostream ,直接用 ostream 就好了。
C++中 ostream& out有什么作用
ostream为输出流
在这里为引用
ostream out为定义一个名字为out的引用型输出流对象
重载时会用到
如:ostream operator (ostream out,const Money x){
outx.getYuan()"."x.getFen();
}
对""运算符的重载
一般""只能输出整型、实型等普通类型
上例子重载后可直接输出Money的对象
Money m;
coutmendl;
C++中ostream的用法。
#includeiostream是标准的C++头文件,任何符合标准的C++开发环境都有这个头文件。
在旧的标准C++中,使用#includeiostream.h
但在新标准中,用#includeiostream,而且在VC中编程的同时要注意要添加:
using namespace std;
在C++中,输入输出流被定义为类。C++的I/O库中的类称为流类(stream class)。用流类定义的对象称为流对象。
关于ostream和ostream类预先定义的类对象的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~