永发信息网

c++ namespace问题

答案:4  悬赏:60  手机版
解决时间 2021-02-03 05:08
我看很多人的代码 2个头文件都用
namespace dd{
class a{
public:
a();
}
}

namespace dd{
class B()
{
public:
aa();

}
}

然后在main 函数里面声明 using namespace dd;
可是函数实现 前面还是要加dd::
比如 dd::classA::A()
{

}
有什么意义
最佳答案
如果你在命名空间里定义函数的实现,就不用加dd::了
比如
namespace dd{
class A{
public:
A();
}
A::A()
{
}

}

如果你在命名空间外面定义函数实现,就要加dd::
namespace dd{
class A{
public:
A();
}
}

dd::A::A()
{
}
全部回答
首先声明空间的名字不能够重复,是编译不过的,不然系统不知道你调用哪一个DD空间的内容。 using namespace dd;的作用就是把后面的变量和函数都使用dd空间里面的,直到下一个using namespace 名字;出现,dd::classA::A()前面使用了using namespace dd;后面可以不加dd::。但是为了防止出错,加上dd::是明确告诉系统我用的class A是dd空间的。程序员只是怕空间多,变量会换乱,所以明确一下空间而已。

(1)namespace   形象点说,就像“家”一样, 里面可以有函数,变量,类 。当你要使用这个家里的东西,必须声明他,表示你用的这个东西从那来的。

(2) (3) <iostream>   <iostream.h>这两个文件基本的功效是一样的,前者是c++标准头文件,而后者是为了保持 和c兼容采用的头文件,而c语言 没用命名空间这个概念, 所以你的第二个问题可以不用考虑,因为namespace std 在 <iostream>  中声明过,而没有在 <iostream.h>中声明

(4) 关于这个使用高不高,如果项目大型的话,使用频率就比较高,如果小型项目,用的比较少

using namesapce dd;是用在调用的时候的, 实现的时候是没用的, 必须如下实现 dd:classA:A()或者 namespace dd{ classA:A() { } }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
明豁的意思是什么啊?知道的请说下!
鲜花礼品店(大望桥光辉里小区五号楼二单元103
sql server 2008 去掉空格后面的值
大同市有哪些艺术培训学校?
汇美地毯墙纸在哪里啊,我有事要去这个地方
【刘禹锡竹枝词】刘禹锡《竹枝词》的文学体裁
俗本的意思是什么啊?知道的请说下!
紫藤缘花艺馆(芍药居甲2号院4号楼115底商紫藤
狼牙沟地址在什么地方,想过去办事
马铃薯粉可以做凉粉吗
经常梦到寺庙里的主持是什么喻意?
【人员密集场所定义】《消防法》对人员密集场
贵港市计生协我想知道这个在什么地方
钱缗的意思是什么啊?知道的请说下!
S305/X002(路口)地址有知道的么?有点事想过
推荐资讯
狗不吃不喝躺着发抖怎么回事?
闻了一天劣质香水有没有关系?
求助:PC3和PC3L的内存,可以混用吗
待放的意思是什么啊?知道的请说下!
停车场(祥利花园西)地址在什么地方,想过去办
本田cb400轮胎宽还是1300的轮胎宽
陈冠希死了吗?他什么时候回来?
个人负债二十万还能贷款吗
万达广场漳州店停车场地址有知道的么?有点事
Intouch 中导入的背景图片能不能锁定,不让它
衣妍洗染聚丰店在什么地方啊,我要过去处理事
是越南富森红土的沉香吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?