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