美文网首页C++
宏、const、static、extern使用详解

宏、const、static、extern使用详解

作者: 小希嘻 | 来源:发表于2018-07-05 16:32 被阅读3次

    宏与const的区别

    编译时刻:宏是预编译(编译之前处理),const是编译阶段。
    编译检查:宏不做检查,不会报编译错误,指替换。const会编译检查,会报编译错误。
    宏的好处:宏能定义一些函数,方法。const不能。
    宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换。

    const

    const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p,对象变量)
    被const修饰的变量是只读的。

    static

    static 修饰局部变量改变量只会被初始化一次,在系统中只有一份内存。
    static 不可以改变局部变量的作用域,但是可以延长局部变量的生命周期,改变量直到整个项目结束的时候才会被销毁。
    static 修饰全局变量作用域仅限于当前文件,外部不可以访问到该变量

    extern

    extern 引用关键字,当某一个全局变量,没有用static 修饰时,其作用域为整个项目文件,若是在其他类文件引用该变量,则用extern关键字,例如,想引用其他类的全局变量,int age = 10;则在当前类中实现,extern int age;也可以在外部修改该变量,extern int age = 20;,若某个文件中的全局变量不想被外界修改,则用static修饰该变量,则其作用域只限于该文件

    相关文章

      网友评论

        本文标题:宏、const、static、extern使用详解

        本文链接:https://www.haomeiwen.com/subject/jdvpuftx.html