社区
C++ 语言
帖子详情
头文件中#define宏定义和cpp中的static全局变量需要放到namespace中吗
zhongyj2004
2008-03-12 11:50:55
写的类都是放到一个名字空间中的,标题中的这些呢
...全文
275
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)
最全的C和C++语言笔试面试题汇总,pdf版
头文件
#include和
宏定义
#
define
的了解与使用
头文件
1.
头文件
的定义 以.h为后缀的文件 一般而言,每个C++/C程序通常由
头文件
和定义文件组成。
头文件
作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。 2.
头文件
的作用
头文件
的主要作用在于多个代码文件
全局变量
(函数)的重用、防止定义的冲突,对各个被调用函数给出一个描述,其本身不
需要
包含程序的逻辑实现代码,它只起描述性作用,用户程序只
需要
按照
头文件
中
的接口声明来调用相关函数或变量,链接器会从库
中
寻找相应的实际定义代码。 3.
头文件
的组成 (1)
头文件
宏定义
#
define
#ifndef #endif
目录 #
define
宏定义
一、无参
宏定义
二、带参
宏定义
#ifndef 条件编译 #
define
宏定义
在C或C++语言源程序
中
允许用一个标识符来表示一个字符串,称为“宏”。“
define
”为
宏定义
命令。 被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序
中
所有出现的“宏名”,都用
宏定义
中
的字符串去代换,这称为“宏代换”或“宏展开”。
宏定义
是由源程序
中
的
宏定义
命令完成的。宏代换是由预处理程序自动完成的。 优点: (1) 方便程序的修改。这个就不多说了。 (2...
C语言
中
,有的#
define
在源文件
中
,有的#
define
在
头文件
中
,他们的作用有什么不同
当你在某个源文件(.c文件)
中
使用#
define
定义宏时,这个宏只在该源文件
中
可见。当你在
头文件
(`.h`文件)
中
定义宏时,任何包含了这个
头文件
的源文件都可以使用这些宏。这使得宏在多个文件间共享变得可能,非常适用于定义全局常量、工具宏(如计算数组大小的宏)或者在不同源文件间
需要
共享的配置选项。在这个例子
中
,`GLOBAL_CONSTANT`在所有包含了`header_file.h`的源文件
中
都可用。在这个例子
中
,`LOCAL_CONSTANT`只在`source_file.c`
中
可用。
小心C++利用#
define
定义
全局变量
的天坑,其不服从条件编译的限制
项目结构如下: project --common.h #pragma once #
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 ./aa.
cpp
./b
C++ 语言
65,198
社区成员
250,522
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章