gpt4 book ai didi

c++ - 在 C++ 中包含和使用命名空间

转载 作者:可可西里 更新时间:2023-11-01 16:36:02 26 4
gpt4 key购买 nike

为了使用cout,我需要同时指定:

#include<iostream>

using namespace std;

cout 在哪里定义的?在 iostream 中,对吗?那么,iostream 本身是否存在于命名空间 std 中?

关于使用 cout 的两个语句的含义是什么?

我很困惑为什么我们需要将它们都包括在内。

最佳答案

iostream是定义 cout 的文件的名称。另一方面,std是一个命名空间,(在某种意义上)等同于 java 的包。

cout 是在 iostream 中定义的一个实例文件,在 std 命名空间内。

可能存在另一个cout例如,在另一个命名空间中。所以要表明你想使用 cout来自 std 的实例命名空间,你应该写

std::cout , 表示范围。

std::cout<<"Hello world"<<std::endl;

为了避免std::在任何地方,你都可以使用 using条款。

cout<<"Hello world"<<endl;

它们是两个不同的东西。一个表示范围,另一个表示实际包含 cout .

回应您的评论

假设在 iostream 中有两个名为 cout 的实例存在于不同的命名空间

namespace std{
ostream cout;
}
namespace other{
float cout;//instance of another type.
}

包括<iostream>之后,您仍然需要指定命名空间。 #include语句不会说“嘿,使用 std::中的 cout”。那就是using是为了,指定范围

关于c++ - 在 C++ 中包含和使用命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2648112/

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