为了账号安全,请及时绑定邮箱和手机立即绑定

您好,请问c++标准库中的namespace是如何组织的?

您好,请问c++标准库中的namespace是如何组织的?

C++ C
慕娘9325324 2021-12-03 11:07:17
是单用一个头文件,然后创建一个namespace在里面实现申明与定义,还是单放申明,然后实现在其他文件中?
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

一般的用法是在头文件中用namespace进行组织,避免多个模块中出现名字冲突,当然其中既可以有声明也可以有定义,如:
1、头文件如下:
#include <iostream>
using namespace std;

namespace mynamespace
{
class A
{
public:
A(){cout << "Construction A" << endl;}//构造函数定义
~A(){cout << "Destruction A" << endl;}//析构函数定义
void print();//成员函数声明
}
}

2、源文件如下:
#include "头文件.h"

using namespace mynamespace;//引用自己定义的命名空间
void A::print()//成员函数定义
{
cout << "print function." << endl;
}



查看完整回答
反对 回复 2021-12-07
?
慕斯709654

TA贡献1840条经验 获得超5个赞

不一定要用头文件,namespace里面可以放申明也可以放定义,它只是为了防止不同模块中的变量或函数名 重名的问题
例如:
namespace A
{
...
int fun(){};//注意函数名相同,定义不一定相同
...
}
namespace B
{
...
int fun(){};//注意函数名相同,定义不一定相同
...
}
有名称空间域以后加上前缀就可以加以区分
在C++中,是这样访问的
A::fun();//表示访问A中的fun()函数
B::fun();//表示访问B中的fun()函数



查看完整回答
反对 回复 2021-12-07
  • 2 回答
  • 0 关注
  • 271 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信