4.17、C++宏定义

可以用#define命令将一个指定的标识符(即宏名)来代表一个字符串。 定义宏的作用一般是用一个短的名字代表一个长的字符串。 它的一般形式为:
    #define 标识符 字符串
这就是已经介绍过的定义符号常量。如:
    #define PI 3.1415926
还可以用#define命令定义带参数的宏定义。其定义的一般形式为:
    #define 宏名(参数表) 字符串
如:
    #define S(a, b) a*b  //定义宏S(矩形面积),a、b为宏的参数

使用的形式如下:
    area=S(3, 2);
用3、2分别代替宏定义中的形式参数a和b,即用3*2代替S(3, 2)。因此赋值语句展开为:
    area=3*2;
由于C++增加了内置函数(inline),比用带参数的宏定义更方便,因此在C++中基本上已不再用#define命令定义宏了,主要用于条件编译中。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是UE4.17到UE5.0版本的常用宏定义: UE4.17: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.18: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.19: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.20: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.21: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.22: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.23: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.24: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.25: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ``` UE4.26: ```cpp #define WITH_EDITOR 1 #define WITH_ENGINE 1 #define WITH_UNREAL_DEVELOPER_TOOLS 1 #define WITH_APPLICATION_CORE 1 #define WITH_COREUOBJECT 1 #define USE_NULL_RHI 1 #define WITH_STATIC_LINKING 0 #define WITH_PLUGIN_SUPPORT 1 #define ENABLE_TETHERING 1 #define WITH_PERF_PROFILER 0 #define WITH_HOT_RELOAD 1 #define WITH_LIVE_CODING 1 #define WITH_SLATE 1 #define WITH_UNREALPNG 1 #define WITH_UNREALJPEG 1 #define WITH_UNREALEXR 1 #define WITH_HARDWARE_SURVEY 0 #define WITH_PUSH_MODEL 1 #define WITH_AUTOMATION_WORKER 0 #define UBT_MODULE_MANIFEST "UE4Editor.modules" ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值