社区
C++ 语言
帖子详情
#include应该放在namespace之内还是之外,有什么区别?
dcsarsen
2010-02-26 04:45:50
例如:
#include <vector>
using std::vector;
namespace ABC
{
......
}
与
namespace ABC
{
#include <vector>
using std::vector;
......
}
...全文
588
10
打赏
收藏
#include应该放在namespace之内还是之外,有什么区别?
例如: #include using std::vector; namespace ABC { ...... } 与 namespace ABC { #include using std::vector; ...... }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dcsarsen
2010-02-27
打赏
举报
回复
看了各位大牛的高见,受益匪浅啊!
heguo2chao3
2010-02-26
打赏
举报
回复
下面那种方法有语法错误
namespace
{
}
花括号之间可以且只可以包括一下内容:
变量
常量
函数定义或者说明
结构体
类
模板
命名空间
至于#include 能否放里面 因为#include是简单复制头文件内容 只要你include 的头文件里面只有上面提到的那些内容 那么可以,如果除了这些还有其他内容 则不行,你的include<vector >给你打包票不止这些,所以会有编译错误
某某9
2010-02-26
打赏
举报
回复
最好放在之外
教材上都是这么写的
这样看起来也舒服点
shaotine_wu
2010-02-26
打赏
举报
回复
第一种放在外面的
#include <vector>
using std::vector; 那么它的作用域是从该命令出行的语句块开始到整个文件的结束,第二种的作用域是只是在局部命名空间ABC中有效
icansaymyabc
2010-02-26
打赏
举报
回复
最好放在之外
dskit
2010-02-26
打赏
举报
回复
引用 4 楼 fox000002 的回复:
按 lz 给的情况,#include <vector> 应该是放 ns 外面的
至于 using 倒是里外都可以
就是这样的
fox000002
2010-02-26
打赏
举报
回复
按 lz 给的情况,#include <vector> 应该是放 ns 外面的
至于 using 倒是里外都可以
hai040
2010-02-26
打赏
举报
回复
#include就是简单复制
放在namespace里有没错就看头文件里的内容了
yshuise
2010-02-26
打赏
举报
回复
第一个在ABC这个namespace之外也还起作用,比如还有BCD namespace
而第二个只在ABC这个名词空间起作用。
stardust20
2010-02-26
打赏
举报
回复
namespace ABC
{
#include <vector>
using std::vector;
......
}
这个好像编译都通不过。。
C++ 的中.h与.cpp文件介绍 #
include
与#
include
""
区别
#
include
< >直接从编译器自带的函数库中寻找文件 #
include
" "是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件 采用"< >"方式进行包含的头文件表示让编译器在编译器的预设标准路径下去搜索相应的头文件,如果找不到则报错。 特别要注意的是,如果是标准库头文件,那么既可以采用<>的方式,又可以采用" "的方式,而用户自定义的头文件只能...
C++基础入门
目录c++关键字命名空间C++输入&输出缺省参数函数重载 c++关键字 C++总计63个关键字,C语言32个关键字 命名空间 使用命名空间的目的是对标识符的名称进行本地化,用来避免命名冲突或名字污染,
namespace
的关键字的出现就是针对这种问题的。 1.1 命名空间的定义 定义命名空间,需要使用到
namespace
关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。 //1.普通的命名空间
namespace
Sb //Sb为命名空间的名称 { //命名空间中的内容,
C++头文件大全
C/C++头文件一览 C、传统 C++ #
include
<assert.h> //设定插入点 #
include
<ctype.h> //字符处理 #
include
<errno.h> //定义错误码 #
include
<float.h> //浮点数处理 #
include
<fstream.h> //文件输入/输出 #
include
<iomanip.h> //参数化输入/输出 #
include
&l
#
include
带“.h” 和 不带“.h” 有什么
区别
#
include
带“.h” 和 不带“.h” 有什么
区别
#
include
void main() { string aaa= "abcsd d"; printf("looking for abc from abcdecd %s/n", (strcmp(aaa,"abc"))
为什么不能把#
include
指令放置在 extern “C“ { ... } 里面?
在你工作过的系统里,不知能否看到类似下面的代码。 这好像没有什么问题,你
应该
还会想:“嗯⋯是啊,我们的代码都是这样写的,从来没有因此碰到过什么麻烦啊~”。 你说的没错,如果你的头文件从来没有被任何C++程序引用过的话。 这与C++有什么关系呢? 看看__cplusplus(注意前面是两个下划线) 的名字你就
应该
知道它与C++有很大关系。__cplusplus是一个C++规范规定的预定义宏。你可以信任的是:所有的现代C++编译器都预先定义了它;而所有C语言编译器则不会。另外,按照规范__cplusplus的
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章