特定的位数可以被称为标志吗
Can particular bit number be called flag?
标志枚举:
enum class AbilityFlag
{
FLY = 1 << 0, // 0x01
WALK = 1 << 1, // 0x02
JUMP = 1 << 2, // 0x04
SWIM = 1 << 3, // 0x08
};
但如果它是特定的位,它能被称为flag吗?
enum class AbilityFlag
{
FLY = 0, // bit no. 0
WALK = 1, // bit no. 1
JUMP = 2, // bit no. 2
SWIM = 3, // bit no. 3
};
还是只有表示位组合的值(如第一个例子)才被称为"flag"?
第一个示例中的类型称为位字段或标志字段。每个常数由一位表示。这意味着您可以使用按位或运算符(例如ability = WALK | JUMP
)在一个变量中组合不同的设置。稍后,您可以使用按位和提取单个属性,如canJump = ability & JUMP
。这在第二个枚举中是不可能的,其中WALK | JUMP
的值与SWIM
的值相同。
具有任何这些类型的变量都可以称为标志。通常,标志一词用于表示某些属性的任何discete值变量。通常使用布尔变量作为标志。
相关文章:
- 为什么当"::"的行为不像运算符时被称为'scope resolution operator'?
- 为什么C++被称为语言联盟?
- 这应该被称为互斥锁吗?
- 在 c++ 中,为什么 -> 被称为二进制中缀指针成员访问运算符?
- 复制ctor被称为而不是移动ctor-可以编译器发出警告
- 覆盖 CAST 运算符(我认为它被称为向下转换)
- 私有非虚拟基类函数被称为派生类中的函数
- 为什么在使用对象作为多映射中的键时,驱动器被称为远远不够
- 持续的指示持续的指针被称为
- 多次被称为驱动器
- 为什么SelectObject被称为两次
- 为什么Qwizard :: NextID()被称为两次
- C++对象声明被称为抽象
- 为什么击改变人被称为两次
- 特定的位数可以被称为标志吗
- 为什么委托或闭包通常被称为真正的"object-oriented function pointers"?
- 为什么它被称为重叠I/O
- 这个C++14构造被称为什么,它似乎链接了lambdas
- 我如何在图中找到双分量?被称为块
- CoInitialize()在c++中没有被称为异常