精华内容
下载资源
问答
  • C++枚举类型初始值

    千次阅读 2018-05-06 18:17:51
    枚举类型初值 若赋值,后面的缺省一次增加 若不赋值,则缺省为0,1,2… // 赋值 enum Weekly { mon = 1, tue, // 2 wed, // 3 thu, // ... fir, sat, sun, // 7 }; // enum City { ...
    • 枚举类型初值
    • 若赋值,后面的缺省值一次增加
    • 若不赋值,则缺省值为0,1,2…
    // 赋值
    enum Weekly
    {
      mon = 1,
      tue,     // 2
      wed,     // 3
      thu,     // ...
      fir,
      sat,
      sun,     // 7
    };
    
    // enum City
    {
        beijing,      // 0
        shanghai,     // 1
        shenyang,     // 2
    }
    
    
    • 类中枚举用法
    class A
    {
      enum Type
      {
          a = 0,
          b,
          c,
      }
    };
    
    // other file
    // 直接使用值
    A::a
    A::b
    A::c
    // 使用类型定义
    A::Type b
    
    展开全文
  • c++枚举变量初始值

    2018-01-17 15:32:00
    #include <iostream> // std::cout, std::boolalpha, std::noboolalpha enum foo { c = -1, a = 1, b = 2, }; int main () { foo bar; std::cout <... "initial value is " <...
    #include <iostream>     // std::cout, std::boolalpha, std::noboolalpha
    
    enum foo {
        c = -1,
        a = 1,
        b = 2,
    };
    
    int main () {
        foo bar;
        std::cout << "initial value is " << bar << std::endl;
        std::cout << std::boolalpha << (bar<a) << std::endl;
        std::cout << std::boolalpha << (bar<c) << std::endl;
    }

    输出结果:

    initial value is 0
    true
    false

    转载于:https://www.cnblogs.com/catmelo/p/8303189.html

    展开全文
  • c#枚举类型的初始值

    千次阅读 2018-05-24 09:35:44
    本来还以为是定义的枚举类型中的第一个,但不一定如此,只有第一个定义为0的时候才是,其它都不是。 无论自己定义的枚举类型是否包含定义了0枚举类型的默认值都是0。这个结论与在enum类型定义时是否定义...

    C#枚举类型的默认值为0,如果在使用过程中没有给枚举类型的变量赋值,则系统会自动默认赋值为0,而不是null,非常需要注意。最好在定义枚举类型变量的时候赋初值,否则不小心就容易出错。

    本来还以为是定义的枚举类型中的第一个值,但不一定如此,只有第一个值定义为0值的时候才是,其它都不是。

    无论自己定义的枚举类型是否包含定义了0值,枚举类型的默认值都是0。这个结论与在enum类型定义时是否定义了0值、定义的0值所在位置都没有关系。有0值的话,无论其在enum定义中的顺序放在哪里,程序都把0值认为是自己的默认值。

    枚举类型变量要得到其数值,直接用 (int)enumVariable进行强制转换就可以,要得到字符串字面量,用ToString()方法即可。

    (一)测试代码如下:

        public enum NameEnum
        {
            Zhang=0,
            Li=1,
            Wang=2
        }
        static void Main(string[] args)
        {
             NameEnum theName = default(NameEnum);
             Console.WriteLine(theName);
             Console.WriteLine((int)theName);
             Console.Read();
        }

    测试结果为:

    Zhang
    0

    (二)测试代码如下

        public enum NameEnum
        {
            Zhang=1,
            Li=2,
            Wang=3
        }
        private static void EnumTest()
            {
                NameEnum theName=default(NameEnum);
                Console.WriteLine(theName);
    
                Console.Read();
            }

    测试结果为:

    0
    0

    (三)测试代码如下:

        public enum NameEnum
        {
            Zhang=1,
            Li=0,
            Wang=2
        }
        static void Main(string[] args)
         {
             NameEnum theName = default(NameEnum);
             Console.WriteLine(theName);
             Console.Read();
         }

    测试结果为:

    Li
    0

    (四)测试代码如下

        public enum NameEnum
        {
            Zhang,       //对于为明确给出数值的,第一个就是0值
            Li,
            Wang
        }
         static void Main(string[] args)
         {
             NameEnum theName = default(NameEnum);
            Console.WriteLine(theName);
             Console.Read();
         }

    测试结果为:

    Zhang
    0

    (五)更多的测试

        public enum NameEnum
        {
            Zhang=1,
            Li=2,
            Wang=3
        }
        class Program
        {
            static NameEnum sName;
            static void Main(string[] args)
            {
                //用new初始化
                NameEnum name = new NameEnum();
                Console.WriteLine((int)name);
    
                //用default初始化
                NameEnum name1 = default(NameEnum);
                Console.WriteLine((int)name1);
    
                //sName是成员变量,由系统默认初始化
                Console.WriteLine((int)sName);
    
    
                Console.WriteLine("以下输出所有定义的成员");
                Array a = Enum.GetValues(typeof(NameEnum));
                foreach(var i in a)
                {
                    Console.WriteLine((int)i);
                    Console.WriteLine(i);  //相当于Console.WriteLine(i.ToString())
                }
    
                Console.Read();
            }
        }

    测试结果如下:

    0
    0
    0
    以下输出所有定义的成员
    1
    Zhang
    2
    Li
    3
    Wang

    补充:写完这边博文后,又发现了MachiealFactory的博客解释得更加清楚,该博客得链接为https://blog.csdn.net/xiaominggunchuqu/article/details/77991602

    展开全文
  • 枚举类型的初始值问题

    千次阅读 2018-12-17 22:10:03
    枚举类型是内置类型吗?型的的初始化规则是什么? 首先记住两点: 1、内置类型变量(int,bool,指针等)的初始化规则 在函数体外(全局)定义的内置类型变量会自动初始化0,函数体内定义的内置类型变量不会初始化。...

    枚举类型是内置类型吗?型的的初始化规则是什么?

    首先记住两点:

    1、内置类型变量(int,bool,指针等)的初始化规则
    在函数体外(全局)定义的内置类型变量会自动初始化0,函数体内定义的内置类型变量不会初始化。类里面定义的内置类型变量不会自动初始化。
    2、类类型变量的初始化是调用构造函数(不论是全局还是局部)。类类型变量的类类型成员自然也是调用其构造函数初始化。类类型变量的内置类型成员如第一条所说,不会自动初始化,需要你在初始化列表或构造函数里面初始化。

    枚举类型就是是不是内置类型,我是觉得可以算,他不就是一无符号(短、长)整形嘛。

    另外注意:枚举类型占用的字节数,是根据枚举值的范围决定的(当然也取决于编译器),如果用char型就能覆盖枚举的所有值,就不会用unsigned int型。但不会超过int型字节数。

    枚举值的缺省值是0,不是枚举的第一个值。当然前提是全局变量的情况下才能保证。其他情况,其值是不定的,而且不限定于所列出的枚举值。

    举例如下:

    enum Status
    {
    running = 3,
    stop,
    error
    };
    class Car
    {
    public:
    Status s;
    };
    Status gs;
    Car gc;
    int main()
    {
    Status s1;
    Car c1;
    std::cout << “gs :” << gs << std::endl;
    std::cout << “gc.s:” << gc.s << std::endl;
    std::cout << “s1 :” << s1 << std::endl;
    std::cout << “c1.s:” << c1.s << std::endl;
    std::cout << “size:” << sizeof(Status) << std::endl;
    return 0;
    }

    打印输出:

    C:/WINDOWS/system32/cmd.exe /c ./a.exe
    gs :0
    gc.s:0
    s1 :2
    c1.s:9
    size:4


    原文:https://blog.csdn.net/coobeara/article/details/1644548

    展开全文
  • C# 枚举初始化及获取索引

    千次阅读 2019-02-24 15:41:11
    /// 枚举初始化 && 获取枚举索引 /// public class SetEnum : MonoBehaviour { public m_Enum m_Enum; void Update() { //1.枚举类型赋值 if (Input.GetKeyDown(KeyCode.Alpha1)) { m_Enum = m_Enum....
  • enum eEnum { eBase, e1, e2, e3 = 0, e4 }; void test() { cout  cout  cout  cout  } 输出结果为:______ A. 0 2 0 4 B. 0 2 0 1 C. 0 0 0 1 D. -3 -1 0 1
  • C++ 枚举类型初始化方式及

    千次阅读 2019-03-07 14:06:10
    如果一个变量只有几种可能的,可以定义为枚举(enumeration)类型。所谓"枚举"是指将变量的一一列举出来,变量的只能在列举出来的的范围内。 创建枚举,需要使用关键字 enum。枚举类型的一般形式为...
  • 其中枚举类型、结构类型是属于类型,类属于引用类型。三种类型都可以添加属性、方法、下标方法,能够使用扩展进行功能扩展,使用协议等。  一、 枚举  枚举定义了一种包含一组相关的公共类型。枚举是Swift中...
  • <s:select id="newthing" name="newthing" listKey="name()" list="@com.constant.YesOrNo@values()" value="YesOrNo.name()" /> public enum YesOrNo { n("否"),y("是");...我想默认值赋为是
  • 枚举初始

    千次阅读 2018-07-22 15:16:13
    知识点:枚举类 所有的枚举值都是类静态常量,在初始化时会对所有的枚举值对象进行第一次初始化。 package zml; enum AccountType { SAVING, FIXED, CURRENT; private AccountType() { System.out.println(&...
  • 作者:Benedikt Terhechte,原文链接,原文日期:2016/04/23译者:Lanford3_3;...有时候你会发现自己需要通过原始(raw values)来构造枚举,因为这些可能零星地存储在某些地方,比如 NSUserDe...
  • C# 枚举初始

    2017-02-09 10:08:00
    3.2 枚举类型(Enum types)的默认值 ... 如果枚举类型中的某个成员被赋予0(不要求是第一个成员),那么枚举变量所储存的就是该成员的。假定Alignment的成员被赋值如下: //Code #06enum Alignment{...
  • 背景 生产环境中需要枚举类来定义一些常量,但是又希望不用修改代码来新增这些常量。...TestEnum,枚举类,初始化是空的 package com.xiong.test.dynamicenum; /** * 枚举 */ public enum TestEn...
  • 3、在需要的初始化对象中添加注解 @InitEnum public class FileModuleEnum { private static final Map, FileModuleEnum> nameEnumMap = new ConcurrentHashMap(); protected FileModuleEnum(String name) ...
  • springboot + mybatis 处理枚举值

    千次阅读 2019-02-17 19:25:01
    二、自定义枚举值处理器 三、配置 四、原理 一、TypeHandler 针对各种类型的处理器 已经内置很多的处理器(TypeHandlerRegistry 初始化时就已经加载了) 注意:对于枚举值,有默认的处理器,EnumTypeHandler...
  • 1. 常量定义 常量是指在程序运行时,不会被修改的量。...可以省略类型说明符 [type],因为编译器可以根据变量的来推断其类型。 显式类型定义 const b string = "abc" 隐式类型定义 const b = "a...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,810
精华内容 724
关键字:

枚举初始值