c++命名空间在哪里定义?源文件还是头文件?定义了怎么调用?std是默认系统命名空间吗?

2024-10-31 12:16:31
推荐回答(3个)
回答1:

都可以,不用调用,如果在源文件里定义了,当前cpp就能够使用该命名空间的方法
如果在头文件定义,比如在header.h里面写了using namespace std;
那么在cpp里#include"header.h"同样可以使用其中的方法

并不是默认的,如果没有using namespace std这句话
那么在cin、cout等就要写成std::cin>>
std::cout<<
这样,如果写了那句话,就可以直接cin>>和cout<<

回答2:

你要使用类、对象至少也要看到声明吧。。。不管你使用哪个名字空间的**,必须在名字空间里看到**的定义或者声明。iostream中的对象和类虽然在名字空间std中,但是这些对象和类实在头文件iostream中声明定义的。

回答3:

我刚刚写了例子测试了一下,一般是在h文件里面声明,然后在cpp文件里面定义,
例如:
namespace.h文件:
namespace study
{
void hell_world();
}
在namespace.cpp文件中
void study::hello_world()
{
std::cout<<"hello world"<}
调用的话,比如在main.cpp文件中调用。包含头文件,然后using namespace study;就可以使用hello_world函数了。