cout在哪里申报
Where is cout declared?
我的计算机科学教授希望我们找到cout
的声明。我已经用g++和-E参数编译了一个简单的Helloworld程序。我的hello.cpp是这样的:
#include <iostream>
using namespace std;
int main(){
string name="";
cout << "Good morning! What's your name?";
cin >> name;
cout << "Hello " << name << ".n";
return 0;
}
我的编译命令:
g++ -E hello.cpp > hello.p
在hello.p中,我在VIM中进行了搜索,如下所示:
:/cout
我看到以下行:
extern ostream cout;
这是cout
的声明吗?cout
是ostream
类的实例吗?
编辑:
wcout
声明的目的是什么?如果我没有记错的话,字母"w"代表"宽",但我不知道这意味着什么。什么是wcout
和wostream
?
是的,这确实是std::cout
的声明,位于<iostream>
标头中。
相关标准部件可在§27.4.1 [iostream.objects.overview]
:中找到
标题
<iostream>
简介
#include <ios>
#include <streambuf>
#include <istream>
#include <ostream>
namespace std {
extern istream cin;
extern ostream cout;
extern ostream cerr;
extern ostream clog;
extern wistream wcin;
extern wostream wcout;
extern wostream wcerr;
extern wostream wclog;
}
p1报头
<iostream>
声明将对象与<cstdio>
(27.9.2)中声明的函数所提供的标准C流相关联的对象,并且包括使用这些对象所需的所有报头。
这是cout的声明吗?cout是ostream类的一个实例吗?
是的,这是std::cout
的声明,是的,它是std::ostream
的实例。它被声明为extern
,因此即使头包含在多个翻译单元中,对象也只创建一次。
相关文章:
- C++我需要了解在哪里使用指针和双指针
- 未定义的引用在哪里
- 谷歌测试中的期望值存储在哪里
- 尽管遵循了规则,内存泄漏在哪里
- 静态数据成员模板专用化的实例化点在哪里
- 在哪里放置我的函数?进入我的母语 Gui 还是进入我的演示者?
- 在哪里声明结构运算符重载
- C++ 中的自定义异常:在哪里定义它们?
- 常量参数存储在哪里 (C++)?
- 如何在 c++ 中确定一条指令(以字节为单位)在哪里结束,另一条指令从哪里开始?
- 此递归函数的每次迭代的值存储在哪里?
- 如何告诉本机节点模块所需的dll存储在哪里?
- 在哪里存储跨平台C++应用存储?
- C++泛型类错误,问题出在哪里?
- 在标准中,模板参数的语法在哪里定义,例如,'std::function<int(char)>'?
- 将类作为主要参数的语法在哪里需要?
- 我需要输入课程的参数,我应该在哪里做?同样,为什么COUT被认为是在课堂上使用的不良实践
- 我在哪里可以找到在NS2库的cpp文件中生成的打印信息,其中我添加了一些cout()函数来打印一些信息
- cout在哪里申报
- cout是在iostream中声明的,但它是在哪里定义的