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)

    //…..  

  • 相关阅读:
    ent 基本使用十二 字段
    ent 基本使用十一 sql.DB 集成
    ent 基本使用十 数据库迁移
    ent 基本使用九 代码生成
    ent 基本使用八 索引
    ent 基本使用七 Config
    ent 基本使用六 Mixin
    ent 基本使用五 schema介绍
    ent 基本使用四 图遍历查询
    ent 基本使用 三 边(关系处理)
  • 原文地址:https://www.cnblogs.com/acm1314/p/4508615.html
Copyright © 2011-2022 走看看