gpt4 book ai didi

ios - iOS 中两个枚举之间的成本分析

转载 作者:行者123 更新时间:2023-11-28 20:09:38 25 4
gpt4 key购买 nike

我遇到了一个枚举定义:-

typedef enum NSInteger {
kBorderTypeNone = 0,
kBorderTypeLeft = 1 << 0,
kBorderTypeRight = 1 << 1,
kBorderTypeTop = 1 << 2,
kBorderTypeBottom = 1 << 3
} BorderType;

而且(可能)它可以等同于

typedef enum NSInteger {
kBorderTypeNone = 0,
kBorderTypeLeft = 1 ,
kBorderTypeRight = 2,
kBorderTypeTop = 4,
kBorderTypeBottom = 8
} BorderType;

内部差异是什么(如果有的话)?一个比另一个有什么优势吗?推荐哪一个?

编辑 1:如果两者相同,那么编译器如何处理它?在编译器的哪个阶段将其简化为同一组指令?

最佳答案

它们是相同的,前一种语法对于添加更多元素来说更容易一些(线性数字增加而不是 2 的幂)。

关于ios - iOS 中两个枚举之间的成本分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20798393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com