zoukankan      html  css  js  c++  java
  • 《C++ Primer》笔记const与extern

    一般变量:如我在file_1.cpp中定义了一个变量,在file_2.cpp中我想使用它,那么我只需要在file_2.cpp中用extern声明它就可以用了:
     // file_1.cc
          int counter;  // definition
          // file_2.cc
          extern int counter; // uses counter from file_1
          ++counter;          // increments counter defined in file_1
    const变量:除非特别说明,const变量只作用与file1中,不能被其他文件访问。
    此时若还想在file2中使用它,那么在file1中也要声明它为extern的。

    // file_1.cc
    // defines and initializes a const that is accessible to other files extern const int bufSize = fcn();
    // file_2.cc
    extern const int bufSize; // uses bufSize from file_1
    // uses bufSize defined in file_1
    for (int index = 0; index != bufSize; ++index)

    // ... 

    本程序中,file_1.cc 通过函数 fcn 的返回值来定义和初始化 bufSize。 而 bufSize 定义为 extern,也就意味着 bufSize 可以在其他的文件中使用。 file_2.cc 中 extern 的声明同样是 extern;这种情况下,extern 标志着 bufSize 是一个声明,所以没有初始化式。 

    非 const 变量默认为 extern。要使 const 变量能够在其他的 文件中访问,必须地指定它为 extern。 

  • 相关阅读:
    二、DBMS_JOB(用于安排和管理作业队列)
    Oracle 常用系统包
    DBMS_OUTPUT(用于输入和输出信息)
    C#获取当前主机硬件信息
    Centos安装mysql5.7
    Rsync安装和配置
    利用Docker编译Hadoop 3.1.0
    hadoop集群环境搭建
    axios请求、拦截器
    import时,什么时候使用花括号'{ }'
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/2835205.html
Copyright © 2011-2022 走看看