Class C++;流/类模板/实例 我是一个新的C++学生,对蒸汽输入/输出有很强的理解能力。
我实际上是在从一本书中学习,我发现下面的几行让我困惑 “iostream库提供了许多用于处理常见I/O操作的模板。例如,类模板basic_ostream支持流输出操作…” 那么这是否意味着基本团队被定义为:Class C++;流/类模板/实例 我是一个新的C++学生,对蒸汽输入/输出有很强的理解能力。,class,templates,stream,instance,Class,Templates,Stream,Instance,我实际上是在从一本书中学习,我发现下面的几行让我困惑 “iostream库提供了许多用于处理常见I/O操作的模板。例如,类模板basic_ostream支持流输出操作…” 那么这是否意味着基本团队被定义为: template <class basic_ostream> 这意味着cout实际上是一个类对象,而不是一个类的实例。 我只是混淆了“实例”的定义吗 请帮忙 涉及的模板参数处理从流中读取/写入的字符类型 cout(和cin、cerr、clog)类似于: namespace st
template <class basic_ostream>
这意味着cout实际上是一个类对象,而不是一个类的实例。
我只是混淆了“实例”的定义吗
请帮忙 涉及的模板参数处理从流中读取/写入的字符类型 cout(和cin、cerr、clog)类似于:
namespace std {
basic_ostream<char> cout;
basic_ostream<char> cerr;
basic_ostream<char> clog;
basic_istream<char> cin;
}
namespace std{
基本团队能力;
基础研究中心;
基本的蒸汽阻塞;
基本流cin;
}
还有一些版本可以读取和写入宽字符:
namespace std {
basic_ostream<wchar_t> wcout;
basic_ostream<wchar_t> wcerr;
basic_ostream<wchar_t> wclog;
basic_istream<wchar_t> wcin;
}
名称空间std{
基本团队输出;
基本的_ostreamwcerr;
basic_ostream wclog;
基本流wcin;
}
因此,这些标准流中的每一个都是一个类的实例,其中该类是从该流读取/写入的字符类型上的模板的实例化
值得一提的是,还有一点:另一种类型称为
std::ios_base::Init
,它在main
开始执行之前创建这些实例,并在main
完成执行之后销毁它们。首先,感谢您的响应!;)我还没有掌握这个概念。所以,在“namespace std{}”中会有一个处理流的类,在这个类中,会出现cout、cerr、clog和cin吗?或者你是说cout、cerr、clog和cin本身就是课程?如果是这样的话,为什么没有“class”关键字?@GrinNare:没有——cin、cout、clog和cerr都是对象——类的实例。所以。。。cout将是接受char或wchar\t值的类basic_ostream的对象?我说的对吗?@GrinNare:对不起,我这方面的想法很愚蠢,这篇文章有误导性的信息cout
是类basic_ostream
的对象,在char
上实例化wcout
本质上是相同的,但在wchar\u t
上实例化(宽字符)。实际上我还有一个问题。这个“流”存储在哪里?它保存在堆栈还是堆中?所以用户>键盘>堆栈(或堆)中的流>cin读取>程序???
namespace std {
basic_ostream<char> cout;
basic_ostream<char> cerr;
basic_ostream<char> clog;
basic_istream<char> cin;
}
namespace std {
basic_ostream<wchar_t> wcout;
basic_ostream<wchar_t> wcerr;
basic_ostream<wchar_t> wclog;
basic_istream<wchar_t> wcin;
}