zoukankan      html  css  js  c++  java
  • #define | enum(enumerator)

    /****************************************************************************
     *                          #define | enum(enumerator)
     * 声明:
     *     今天突然在Linux内核看到枚举和宏,感觉是一样的功能,于是找了一下他们
     * 之间差异。
     *
     *                                      2015-12-26 深圳 南山平山村 曾剑锋
     ***************************************************************************/
    一、参考文档:
        1. 宏和枚举的区别
            http://www.xuebuyuan.com/1875170.html
        2. 枚举enum和#define的区别
            http://www.programgo.com/article/7470399691/;jsessionid=FD993C1249B479189AC31D71F71FC06D
        3. 使用枚举和使用宏的区别
            http://www.programgo.com/article/11502742125/
    
    二、总结说明:
        1. 宏和枚举之间的差别主要在作用的时期和存储的形式不同;
        2. 宏是在预处理的阶段进行替换工作的,它替换代码段的文本,程序运行的过程中宏已不存在了;
        3. 枚举是在程序运行之后才起作用的,枚举常量存储在数据段的静态存储区里;
        4. 宏占用代码段的空间,而枚举除了占用空间,还消耗CPU资源;
        5. 一般在编译器里,可以调试枚举变量,但是不能调试宏常量;
        6. 枚举可以一次定义大量相关的常量,而define一次只能定义一个;
  • 相关阅读:
    Java IO(三)
    Java IO(二)
    Java IO(一)
    Java操作属性文件与国际化
    Java集合详解二
    Java集合详解一
    Spring官方文档翻译(转)
    S2SH整合
    NX二次开发-UFUN获取图纸视图最大边界和视图中心点UF_DRAW_ask_view_borders
    已知两点计算直线的向量
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/5077921.html
Copyright © 2011-2022 走看看