zoukankan      html  css  js  c++  java
  • c++ 关键字extern(声明)和定义的区别

    extern  : extern  int  i; // declares but does not define i

            int i;         //declares and defines i

    extern 声明不是定义, 也不分配存储空间。它只是说明变量定义在程序的其他地方。程序中变量可以声明多次, 但只能定义一次。

    定义: 定义是负责创建与名字相关的实体。

    变量声明规定了变量的类型和名字, 在这一点上定义与之相同。 但是除此以外, 定义还需申请内存空间, 也肯能会同时给变量赋初值。

             声明和定义之间的区别可能看起来微不足道,但是事实上确是举足轻重的。

             任何多个文件中使用的变量都需要有定义分离的声明, 在这种情况下, 一个文件含有变量的定义, 使用该变量的其他文件则包含该变量的声明。

    const 对象默认为文件的局部变量。

    除非特别声明, const 在全局作用域声明的变量,是那个定义该对象文件的局部变量。 此变量只存在于那个文件中不能被其他文件访问。

    通过制定const变量为extern, 就可以在整个程序中访问const 对象。

    //file_1.cc

    //define and initializes a const that is accessible to other files

    extern const  int bufSize =fcn();

    // file_2.cc

    extern const  int bufSize;

    //use bufSize defined in file_1

    for (int index =  0 ; index != bufSize; ++index)

    //…..  

  • 相关阅读:
    关于文件路径的生成
    re模块小结
    logging模块知识点及应用小结
    微信小程序上传图片
    小程序图表插件
    小程序实现多图上传、预览
    微信小程序实现验证码倒计时效果
    微信小程序上传图片,视频及预览
    小程序实现星级打分
    小程序获取系统日期时间
  • 原文地址:https://www.cnblogs.com/acm1314/p/4508615.html
Copyright © 2011-2022 走看看