C++中的宏定义是什么

我指的是下面这段usingnamespacestd;到底是什么,有什么作用,那下面这段宏定义和他有什么区别#define标识符字符串... 我指的是下面这段
using namespace std;
到底是什么,有什么作用,那下面这段宏定义和他有什么区别
#define 标识符 字符串
展开
 我来答
向上爬的蜗牛C
2013-06-08
知道答主
回答量:17
采纳率:0%
帮助的人:19.3万
展开全部
namespace:名字空间/命名空间,一个程序可能由不同的人来写,为了避免两个人所写的变量名冲突(同名),我们可以使用namespace xxx;将自己要使用的库函数或变量在该名字空间中定义的.避免了不必要的冲突了。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。
using namespace std; //声明使用名字空间std
宏定义跟它根本不是一回事,宏定义可以理解为就是一个简单的替换,#define 标识符 字符串
,就是把程序中出现的标识符用该字符串替代,注意替代后该字符串是没有标识符的功能的!!就比如说:#define int abc 宏定义后int a,会被简单的替换成abc a,是会报错的!
追问
那using 和namespace分别是什么呢?标识符?关键字?
追答
using namespace意思相当于说使用命名空间****,这就相当于include包含头文件一样,include你觉得理解成什么了,这你就怎么理解了。跟include一样,using和namespace都是C++关键字,你可以百度C++关键字就知道了,百科里就有
lsj3210
2013-06-08
知道答主
回答量:35
采纳率:0%
帮助的人:24.2万
展开全部
using namespase std;这个是引入命名空间std,在std这个命名空间下定义了很多C++常用的方法和类。#define 标识符 字符串,这个是宏定义,就是给字符串取个别名。例如#define NUM 5 在程序中 你写 if(a<NUM)等价于if(a<5)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
SNSTAR_
2013-06-08 · TA获得超过106个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:81.9万
展开全部
命名空间 , 有很多I/O对象名就是在这里命名的,如果不声明命名空间,那么那些I/O对象将无法引用,比如 cout , cin 等.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
禄学校寄蓝
2020-03-08 · TA获得超过1274个赞
知道小有建树答主
回答量:3686
采纳率:94%
帮助的人:26万
展开全部
楼上说的对,就是起别名,方便程序员。在预处理的时候会把宏展开。然后进行编译
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式