总结if/elif/else/endif宏之间的嵌套关系 发表于 2019-11-12 先前写的一个工具(Qml宏预处理工具)就顺便总结一下if/elif/else/endif之间的嵌套关系,并整理成表。 从左到右顺序,与之上一个宏定义对比。除去2个无效项,共有14个有效项。 if elif else endif if 创建子层 同层逻辑 同层逻辑 同层逻辑 elif 创建子层 同层逻辑 同层逻辑 同层逻辑 else 创建子层 无效 无效 同层逻辑 endif 创建分组层 上一层逻辑 上一层逻辑 上一层逻辑 示例标注:123456789101112131415161718192021222324252627#if #if /* if -> if 创建子层 */ #elif /* if -> elif 同层逻辑 */ #else #endif#elif #if /* elif - > if 创建子层 */ #elif #elif #endif#else #if /* else - > if 创建子层 */ #else #endif#endif #if /* endif -> if 创建分组层 */ #if #if #if #endif #elif /* endif -> elif 上一层逻辑 */ #else #endif #else /* endif -> else 上一层逻辑 */ #endif#endif /* endif -> endif 上一层逻辑 */