首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

UE4的枚举

UE4在C++中和标准的枚举是一样的,支持两种写法,enum和enum class /** Parameter enum for CastChecked() function, defines when...有严格的类型检查,做位运算需要先转换为底层类型(可通过std::underlying_type转换)再进行位运算 UE4为了解决enum class在做位运算时不方便的问题,提供了一个宏和一些模板函数 // Defines...宏中声明了各种位运算的运算符重载函数,只要定义enum class时候再额外使用这个宏来声明枚举类型,枚举就自动支持了位运算功能 除此之外,还提供了枚举范围查询,迭代器等相关的辅助宏和模板 /** * Defines...class ECountedThing * { * First, * Second, * Third, * * Count * }; * * // Defines...Count) ENUM_RANGE_BY_FIRST_AND_LAST(EnumType, 0, (__underlying_type(EnumType))(Count) - 1) /** * Defines

1.6K20

xmake从入门到精通11:如何组织构建大型工程

-- 在根域设置通用配置,当前所有targets都会生效 add_defines("COMMON") target("test") set_kind("static") add_files...("src/test/*.c") add_defines("TEST") target("demo") set_kind("static") add_files("src/demo.../*.c") add_defines("DEMO") 维护复杂的项目结构 但是对于一些大型项目,通常的组织结构层次很多也很深,需要编译的target目标也可能有十几甚至上百个,这个时候如果还是都在根...由于,已经在根xmake.lua配置了大部分通用配置,那么我们可以在test子工程下,专心配置只对test有用的设置,例如对于projectdir/test/xmake.lua: add_defines..."static") add_files("test2/*.c") add_defines("TEST2") 而这里面的add_defines("TEST")在root域,会对test1

1.3K30
领券