我偶尔会在变量的上下文中碰到术语flag
,我对此有了自己的理解,但是我仍然希望看到一个清晰的定义。哪些变量可以被称为标志变量?
回答
这通常是一个私有变量,被其他成员(属性,方法)用作一种便捷的方式来跟踪和确定在多个行为中进行选择的状态。
这些通常是但不总是布尔或枚举值。
例如,您可能有一个名为IsDataLoaded
的布尔“标志”,以及名为ShowResults()
的方法。在ShowResults()
方法的主体中,您将检查IsDataLoaded
标志的值,如果它是true
,则只显示结果。如果false
,您首先要调用LoadData()
方法。数据加载完成后,LoadData()
方法会将标志从false
更改为true
。
使用枚举和位掩码,“flags”可以是包含在单个值中的一组设置或选项。例如,如果你定义了以下(C#):
enum foo
{
CaseSensitive = 1,
Use24HourTime = 2,
IgnoreRegistrySetting = 4,
LoadFoosAndBarsSeparately = 8
}
你最好能够用一个简单的数值指定设置,如13
,或指定的“标志”使用CaseSensitive | IgnoreRegistrySetting | LoadFoosAndBarsSeparately
。
在.NET中,有一个System.FlagsAttribute
属性:
System.FlagsAttribute:表示枚举可以作为一个位域进行处理;也就是一组标志。
通常但不一定是布尔值,标志变量用于确定哪些有限的离散数据集组是特定数据块的成员。
在正常语言中,您可能会标记一段数据来表示它是一只猫。或者标记一份工作申请表示它不完整。
在C和C派生语言中,标志变量通常是枚举类型。
在CPU上,您通常会得到由先前操作设置的单位状态标志。例如。你可以把两个数字加起来,然后'进位'标志将被设置或取消设置,取决于是否应该从最高位传送位。
一个标志变量,以最简单的形式, 是你定义有一个 值,直到某些条件为真,在你改变变量的值 这种情况下 的变量。这是一个变量,您可以使用 来控制功能或 语句的流程,从而允许您在功能 进展时检查某些条件的 。
计算机实现
保持 数据的任何变量或常数可以被用作一个标记。您可以将 认为存储位置为 旗杆。存储在变量 中的值表达了一些含义,您可以将其视为标志。
一个例子可能是一个变量名为: 性别,它是字符数据 类型。变量中通常存储的两个值 是:'F'和'M' 意味着女性和男性。然后, 某处的程序中,我们可能 看看变量做出 决定:
if gender equals 'F'
display "Are you pregnant?"
get answer from user store in pregnant variable
望着该标志意味着比较 在变到另一个 值的值(常数或另一个变量的值 )使用关系运算符 (在我们上面的示例中: 相等)。通过使用测试 表达式(其通常是布尔型 表达式)来控制结构为“受控” 。因此, 的标志概念“查看”变量 中的值并将其与另一个值进行比较的基本概念是理解所有控制结构如何工作的基础。
该词通常用于描述位字段:即某种类型的整型变量,每一位都具有特定的含义。 Windows平台API广泛使用它们。
- 1. Erlang中的变量是(或可以被称为)引用变量吗?
- 2. 哪些变量被POST发送这里
- 3. 为什么变量的可变引用可以使用可变变量?
- 4. 变量变量名称
- 5. 局部变量可以被命名为产量
- 6. 我可以链接一些变量
- 7. 是否可以打印变量名称?
- 8. 我可以使用哪些变量而不是共享?
- 9. XML变量标签名称
- 10. 有些环境变量可以访问,有些则不可以?
- 11. 什么被称为变量 - 它的值或它的标识符?
- 12. 可以在同一过程体中声明哪些任务被视为共享这些任务的变量?
- 13. 在嵌套循环变量周围嵌套磅标志变量
- 14. 使用可变参数,我可以根据变量名称为变量赋值吗?
- 15. 我可以将php $ _POST变量转换为jQuery变量吗?
- 16. 我怎么可以打印变量,因为它不是变量
- 17. ASH使变量名称变为两个变量
- 18. 可变批量变量
- 19. 在哪里可以找到quickfix变量的关联标签号?
- 20. drupal -----这些变量在哪里声明?
- 21. 哪些是Clojure全局变量?
- 22. 哪个变量名称是正确的?
- 23. 变量名称的PHP全局变量
- 24. 创建变量名称与变量
- 25. 一些bash变量被覆盖
- 26. 这些变量如何被初始化?
- 27. 变量名称'@'已被声明
- 28. 哪个特定优化标志负责优化输出变量
- 29. 在XMLHttpRequest中,错误标志变量在哪里?
- 30. CMake的ADD_LIBRARY函数的编译器标志的哪个变量?