• 《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。 

  • 相关阅读:
    第十周课程总结
    第九周课程总结&实验报告(七)
    第八周课程总结&实验报告(六)
    第七周课程总结&实验报告(五)
    第六周&java实验报告四
    第五周课程总结&试验报告(三)
    课程总结
    第十四周课程总结
    第十三周学习总结
    第十二周编程总结
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/2835205.html
Copyright © 2020-2023  润新知