gpt4 book ai didi

c++ - 标准命名空间问题

转载 作者:太空狗 更新时间:2023-10-29 20:07:17 26 4
gpt4 key购买 nike

你好,

我对 C++ 编程比较陌生。我知道函数 cout 、 cin 等...是在标准 namespace 中定义的。但我们还包括用于运行程序的 iostream 头文件。

那么,是不是像

 namespace std
{

declaration of cout

declaration of cin

..... some other declarations etc....

}

以及它们在 istream 和 ostream 中的实际实现 ... ???

或者,它是反过来的……???喜欢....

namespace std 
{
complete definition of cout
complete definition of cin
.........

}

他们的签名就像...一样放在 iostream 文件中

iostream file 
{
std :: cout
std :: cin
.....

}

请提供您认为可以帮助我更好地理解的任何示例或链接

最佳答案

I do know that the functions cout , cin etc... are defined in the standard name space.

这些并不是真正的函数,而是 basic_ostreambasic_istream 的全局实例。

But we also include iostream header file for running the program.

您宁愿包含 header 以便编译您的源代码(编译器需要声明等)。

问题的其余部分相当模糊。标准库的实现方式很大程度上取决于实现。该标准要求,如果您包含 iostream,您将获得以下全局变量的声明:

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;
}

关于c++ - 标准命名空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3700868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com