永发信息网

C++中一些未定义的宏是什么意思?

答案:3  悬赏:10  手机版
解决时间 2021-03-16 21:59
比如:near和far是# define near 和# define far,我在看一些头文件的时候看到的,但是它什么都没有定义,我不知道是什么意思,有谁能帮忙解释一下?谢谢
最佳答案
一般这些未定义宏可以作为一些代码上的注释。
例如#define IN 和 #define OUT

定以后,你可以声明函数function(IN int a, OUT int &b);可以在不影响函数的情况下,直观显示那个是传入参数,哪个是传出参数。

另外的未定义宏可以用来防止重复定义。
如:某头文件定义代码有:
#ifdef TTTTT
#defin TTTTT
function();

#endif
这样当在工程里,该头文件被连续包含两次的时候,第二次包含不会再次定义function();而导致出现重定义的问题。

如果你的程序需要同时兼容32位和64位或者其他不同的平台。
那么也可以在程序中最初始时根据不同的环境定义一个宏,例如64位下#define SYSX64
这样如果代码中某些地方环境不同需要采用不同的方法是,可以通过#ifdef SYSX64区分
全部回答
这种就是方便人阅读的。near和far我不太知道,给你举个常用的:IN,OUT void func (IN int a, OUT int *b) { *b = a; } 这里就是方便人阅读,让人一目了然,a是输入参数,b是输出参数的。 这里的near和far也都是一样的作用,你结合实际意义揣度一下就行了。
在windef.h里应该还能看到如下 #undef far #undef near #undef pascal #define far #define near 把 far和 near定义成空,上面图里相当于near far不存在 far和near应该是以前继承下来的字段(我个人的理解,以前段跳跃不是分短jump和长jump)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
关于用人单位不买保险,怎么投诉?需要注意哪
哈弗柴油2.5和2.8哪个发动机好
win10以太网显示空白怎么办?
隆兴食品机械在什么地方啊,我要过去处理事情
茅台酒的条形码6931691118290多少钱
和包兑换的天猫购物券怎么用
我想用我的名字和我老婆的名字作一首藏头诗我
四川养麝研究所在什么地方啊,我要过去处理事
女生说被蚊子咬了,把蚊子要送给我是什么意思
单选题1993年汪辜会谈是两岸关系发展的一次历
求下联:骑马走马路(上联)
卧龙湾怎么去啊,有知道地址的么
荔波离南丹远吗 坐班车要多久
天气渐渐变冷、右腿膝盖以下总感觉没有知觉是
梦见自家菜园里有大蛇,是什么意思
推荐资讯
广电宽带和长城这两个宽带哪个好
雅格晾衣架地址在哪,我要去那里办事
315期间假货应该不敢出吧,看中宝贝第一一款
谁有空间音乐乌兰托娅的火红的萨日朗链接?麻
计算机二级ms office中excel中必考函数有哪些
竹山县属哪个市
爱琴海商务酒店地址有知道的么?有点事想过去
840公交从马村到北京西要多长时间
今天大学第一天上课。白天一节课没有,晚上两
万成粮油怎么去啊,有知道地址的么
游戏王卡中 让怪兽攻击力变成0的卡有哪些
临颍县第三人民医院-门诊楼在什么地方啊,我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?