社区
C++ 语言
帖子详情
头文件中#define宏定义和cpp中的static全局变量需要放到namespace中吗
zhongyj2004
2008-03-12 11:50:55
写的类都是放到一个名字空间中的,标题中的这些呢
...全文
251
2
打赏
收藏
头文件中#define宏定义和cpp中的static全局变量需要放到namespace中吗
写的类都是放到一个名字空间中的,标题中的这些呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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预编译——
宏定义
、条件编译、
头文件
包含、特殊预编译关键字
课程内容:(1)回顾c预编译(2)
宏定义
:无宏体宏、有宏体宏、带参宏、
宏定义
与复杂表达式。(3)条件编译:#if、#else、#elif #endif、#ifdef和#ifndef、#if与
define
d、条件编译与配置文件(4)一些特殊的预编译关键字与实际应用:
define
d、#error、#line、#与##、#pragma (5)文件包含:是否只能包含.h文件,<>与区别等。
头文件
#include和
宏定义
#
define
的了解与使用
头文件
1.
头文件
的定义 以.h为后缀的文件 一般而言,每个C++/C程序通常由
头文件
和定义文件组成。
头文件
作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。 2.
头文件
的作用
头文件
的主要作用在于多个代码文件
全局变量
(函数)的重用、防止定义的冲突,对各个被调用函数给出一个描述,其本身不
需要
包含程序的逻辑实现代码,它只起描述性作用,用户程序只
需要
按照
头文件
中
的接口声明来调用相关函数或变量,链接器会从库
中
寻找相应的实际定义代码。 3.
头文件
的组成 (1)
头文件
宏定义
#
define
#ifndef #endif
目录 #
define
宏定义
一、无参
宏定义
二、带参
宏定义
#ifndef 条件编译 #
define
宏定义
在C或C++语言源程序
中
允许用一个标识符来表示一个字符串,称为“宏”。“
define
”为
宏定义
命令。 被定义为“宏”的标识符称为“宏名”。在编译预处理时,对程序
中
所有出现的“宏名”,都用
宏定义
中
的字符串去代换,这称为“宏代换”或“宏展开”。
宏定义
是由源程序
中
的
宏定义
命令完成的。宏代换是由预处理程序自动完成的。 优点: (1) 方便程序的修改。这个就不多说了。 (2...
android studio
宏定义
,
宏定义
(#ifndef+#
define
+#endif)的作用
本文介绍#ifndef、#
define
、#endif三者一起使用的
宏定义
的作用。在
头文件
中
,我们经常会在
头文件
中
见到#ifndef、#
define
、#endif三者一起使用的
宏定义
。例如,在
头文件
xxx.h
中
(此样式可参考):#ifndef __XXX_H__#
define
__XXX_H__#include // 其他代码#endif使用#ifndef、#
define
、#endif组合
宏定义
的作...
小心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++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章