using namespace 该不该出现在引用的头文件?

在实际的项目当中,几乎任何一个模块都被封装在一个独立的命名空间之中,在这里会产生一个问题:

例如模块A的命名空间定义为A,我们现在需要在其他的模块中使用A命名空间下的定义变量B,在这里就会有两种方法:

方法一:在头文件中直接使用:using namespace A

方法二:在头文件中使用:A::B,然后在.cpp文件中使用using namespace A

在这里有一个疑问:调用变量B,是否需要添加B的定义头文件,我想这个应该是必须的吧。

时间: 2024-11-10 11:29:39

using namespace 该不该出现在引用的头文件?的相关文章

OC高效率52:(二)类的头文件中尽量少引用其他头文件

// //  EOCPerson.h //  OC高效率52:类的头文件中尽量少引用其他头文件 // //  Created by Zoujie on 15/10/8. //  Copyright ? 2015年 Zoujie. All rights reserved. // #import <Foundation/Foundation.h> //#import "EOCEmployer.h" @class EOCEmployer;//向前申明该类,将引入头文件的时机尽量延

第三方库引用,头文件和库文件

头文件:c/c++,将第三方库的头文件所在文件夹包含进去 .cpp文件:link->debug里,将第三方库的lib(静态库)或者dll(动态库)的所在文件夹包含进去 头文件中有函数的申明,库文件实现函数的定义. 比如,printf函数.使用时应包括stdio.h,打开stdio.h你只能看到,printf这 个函数的申明,却看不到printf具体是怎么实现的,而函数的实现在相应的C库 中.而库文件一般是以二进制形式而不是C源文件形式提供给用户使用的.程序 中包括了stdio.h这个头文件.链接

#ifndef #define #endif 防止头文件被重复引用

想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?是不能在不同的两个文件中使用include来包含这个头文件吗?如果头文件被重复引用了,会产生什么后果?是不是所有的头文件中都要加入#ifndef/#define/#endif 这些代码?   其实“被重复引用”是指一个头文件在同一个cpp文件中被include了多次,这种错误常常是由于include嵌套造成的.比如:存在a.h文件#include "c.h

C语言头文件引用

1,引用分为两种 firs:include<fileName.h> 引用系统头文件一般用<>. second:include"fileName.h" 引用自己定义的头文件一般用" ". 区别是<>首先去系统中去找," "则在自己当前文件夹找. 2,只引用一次头文件 如果一个头文件被引用两次,编译器会处理两次头文件的内容,这将产生错误.为了防止这种情况,标准的做法是把文件的整个内容放在条件编译语句中,如下: _t

头文件重复引用

Q:.h头文件中的ifndef/define/endif 的作用? A:防止该头文件被重复引用. 说明: 有些头文件重复包含只是增加了编译工作的工作量,不会引起太大的问题,仅仅是编译效率低一些. 有的会引起错误,比如在头文件中定义了全局变量(虽然这种方式不被推荐,但确实是C规范允许的) . 如果头文件被循环包含,有的编译器会智能处理,和只include一次一样:有的会报错,有的直接死锁,导致编译程序崩溃(这个只有很低级的编译器才会出现在几乎看不到了). 不管怎样,用ifnde xxx #defi

VS2010 项目引用了DLL文件,也写了Using,但是编译时提示:未能找到类型或命名空间名称 &lt;转&gt;

昨天写了一个很小的winform程序,其中引用了自己写的两个dll文件. 本来认为轻松搞定,结果一编译居然提示:未能找到类型或命名空间名称..... 于是删掉两个dll重新引用,再编译结果依旧!很是郁闷. 后来经过调查,终于发现了解决方法: 在项目上点右键-->属性-->应用程序-->目标框架-->修改为.NET Framework 4. 而我原来的设置是.NET Framework 4 Client Profile.问题就出在这里. 以下是MSDN给出的提示: If you ar

通过切换页面引用的js文件实现下拉框的联动

在之前的项目之中,页面最高的角色级别是城市级,一个页面最多是展示一个城市的信息. 因此为每个城市创建了一个js文件,在其中存放此城市的信息,如图: 在此我们关注js文件中存放的区县信息,以北京为例,其区县信息如图: var Districts=[{name:'昌平',index:0},{name:'朝阳',index:1},{name:'崇文',index:2},{name:'大兴',index:3},{name:'东城',index:4}]; 由于之前的页面最多加载某一城市的js文件,Dist

c++头文件重复引用问题

引子----之前写C++ 时遇到的坑 之前由于Java实在太好用了,C++的工程代码几乎没怎么碰,真的写起来的时候总会有些小bug,这里就对其中的一个进行个总结 a.h #include "b.h" class a{ public: a(); ~a(); } a.cpp #incldue "a.h" a::a(){ .... }; a::~a(){ .... }; b.h #include "a.h" class b{ public: b();

头文件循环引用的错误

In file included from /usr/include/c++/5/memory:81:0,from Threadpool.h:12,from testThreadpool.cc:7:/usr/include/c++/5/bits/unique_ptr.h: In instantiation of 'void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = wd::Thread]':/usr/include