面试遇到:请列举出几种宏不能被取代的情况。

iamnobody 2011-09-11 01:30:12
如题。
...全文
165 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
等待升级 2011-09-11
  • 打赏
  • 举报
回复
include

if

endif

ifdefine
......
iamnobody 2011-09-11
  • 打赏
  • 举报
回复
不给力啊
Athenacle_ 2011-09-11
  • 打赏
  • 举报
回复
#define TOSTR(str) (#str)

就想到这两种,楼下继续
Athenacle_ 2011-09-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 mingliang1212 的回复:]
不能取代?
[/Quote]

C++中取代C的define的const常量?

额,,我先举个例子,

#define VG(name) (VG##name)
CabinLS 2011-09-11
  • 打赏
  • 举报
回复
mark~~ 帮你顶~
peeky 2011-09-11
  • 打赏
  • 举报
回复
1、文件包含
2、条件编译
hui12345685 2011-09-11
  • 打赏
  • 举报
回复
test
[code=C/C++][/
#ifudef aaaaaaaa
#define aaaaaaaa
......
#endif
]
luuillu 2011-09-11
  • 打赏
  • 举报
回复
#include<iostream> // 此宏不能被替代。
hui12345685 2011-09-11
  • 打赏
  • 举报
回复
[code=C/C++]
[
#ifudef aaaaaaaa
#define aaaaaaaa
......
#endif
]
[code=C/C++]
[
#ifdef AAA
#else
#endif
]
cppresearcher 2011-09-11
  • 打赏
  • 举报
回复
防止重复包含头文件的宏不能被取代
qq120848369 2011-09-11
  • 打赏
  • 举报
回复
大家都说了.

宏为编译提供了便利,不解释.
jackyjkchen 2011-09-11
  • 打赏
  • 举报
回复
如果没有微软的

#pragma once扩展

防止头文件重复包含的宏也不能取代吧
ljhhh0123 2011-09-11
  • 打赏
  • 举报
回复
#define TOSTR(id,id2) (id##id2)
#progma align(1)
#ifdef
#endif

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧