首页 >后端开发 >C++ >如何跨多个源文件正确管理全局变量?

如何跨多个源文件正确管理全局变量?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-09 08:41:06262浏览

How to Properly Manage Global Variables Across Multiple Source Files?

跨多个文件管理全局变量

简介

源文件之间公共变量的访问是程序设计的一个重要方面。本文探讨了在多个文件中声明和访问全局变量的最佳方法。

最佳实践

要声明可跨多个文件访问的全局变量,应执行以下步骤遵循:

  1. 头文件声明:声明全局变量作为两个源文件都包含的头文件中的 extern。

    //common.h
    extern int global;
  2. 源文件定义:仅在其中一个源文件中定义全局变量。定义变量的文件不得包含 extern 关键字。

    //source1.cpp
    #include "common.h"
    int global = 42;

替代方法

虽然推荐的方法是使用extern 声明和单个定义,还有更少的替代方法desired:

  • 静态声明:在头文件中将全局变量声明为静态将使其成为每个源文件的内部变量,从而防止共享访问。
  • 在两个文件中直接定义:在两个源文件中定义全局变量将创建该变量的多个实例,这可能会导致

示例实现

考虑以下示例:

//source1.cpp
#include "common.h"
int function();
int main() {
  global = 42;
  function();
  return 0;
}

//source2.cpp
#include "common.h"
int function() {
  if (global == 42)
    return 42;
  return 0;
}

通过遵循使用外部声明的最佳实践,一个定义,两个源文件就可以有效共享全局变量global。

以上是如何跨多个源文件正确管理全局变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn