社区
C++ 语言
帖子详情
头文件中#define宏定义和cpp中的static全局变量需要放到namespace中吗
zhongyj2004
2008-03-12 11:50:55
写的类都是放到一个名字空间中的,标题中的这些呢
...全文
270
2
打赏
收藏
头文件中#define宏定义和cpp中的static全局变量需要放到namespace中吗
写的类都是放到一个名字空间中的,标题中的这些呢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhongyj2004
2008-03-12
打赏
举报
回复
如果相同的宏在不同的.h中不同
如
1.h 中#define A 1
2.h 中#define A 2
只要不同时包含1.h 和 2.h就可以
文件中定义的全局变量是static的,namespace的作用就是在于避免不同的模块污染,既然已经是static的了,别的文件看不到了,就没有什么污染的问题了吧
珍惜生命远离CPP
2008-03-12
打赏
举报
回复
宏没限制这个限制,在编译器编译的时候已经被替换掉了。
全局变量什么的看情况。
最全的C和C++语言笔试面试题汇总(pdf)
可以在
头文件
中
定义
全局变量
,但这通常伴随着使用`
static
`关键字,以限制变量的作用域仅在包含
头文件
的源文件内有效。这样可以避免不同源文件间
全局变量
名称的冲突,保持代码的独立性和模块性。 #### 无限循环的...
头文件
#include和
宏定义
#
define
的了解与使用
头文件
的主要作用在于多个代码文件
全局变量
(函数)的重用、防止定义的冲突,对各个被调用函数给出一个描述,其本身不
需要
包含程序的逻辑实现代码,它只起描述性作用,用户程序只
需要
按照
头文件
中
的接口声明来调用相关...
宏定义
#
define
#ifndef #endif
#
define
宏定义
一、无参
宏定义
二、带参
宏定义
#ifndef 条件编译 #
define
宏定义
在C或C++语言源程序
中
允许用一个标识符来表示一个字符串,称为“宏”。“
define
”为
宏定义
命令。 被定义为“宏”的标识符称为...
C语言
中
,有的#
define
在源文件
中
,有的#
define
在
头文件
中
,他们的作用有什么不同
这使得宏在多个文件间共享变得可能,非常适用于定义全局常量、工具宏(如计算数组大小的宏)或者在不同源文件间
需要
共享的配置选项。在这个例子
中
,`GLOBAL_CONSTANT`在所有包含了`header_file.h`的源文件
中
都可用。...
小心C++利用#
define
定义
全局变量
的天坑,其不服从条件编译的限制
#
define
qq(mm) \ int mm_x; qq(haha) --aa.
cpp
#include <common.h> int main() { return 0; } --bb.
cpp
#include <common.h> --CMakeLists.txt add_library(test SHARED ./...
C++ 语言
65,186
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章