首页 > 解决方案 > 如何在 C++ 中创建可以访问多个文件的全局变量

问题描述

我使用以下代码来提供全局变量。

namespace STR.Pref
{
    public static class Pref
    {
        public static Lang PrimaryLang { get; set; } = Lang.Sinhala;
        public static bool InsTrans { get; set; } = true;
        public static HotKey Key { get; set; } = new HotKey();
    }
}

所以我可以使用以下代码为该全局变量(任何文件)赋值。(无需实例化)

    private static void SetValue(Pref_tempObj tempObj)
    {
        Pref.Pref.Key = tempObj.Key;
        Pref.Pref.InsTrans = tempObj.InsTrans;
        Pref.Pref.PrimaryLang = tempObj.PrimaryLang;
   }

该程序运行良好,但最近我对 c++ 很感兴趣,所以我决定用 c++/clr 编写该程序并进行小幅更新。我对 c++ 有点陌生,我不明白如何使用 c++ 来完成这一点。(无论是使用指针还是其他东西)

标签: c#c++

解决方案


好的,我真的不建议这样做,但您可以按照此说明进行操作。

Global.h文件上(我的意思是每个 .cpp 都会包含一个标题)

extern MyType MyTypeVar;

在 .cpp 上声明

MyType MyTypeVar

并且在您将包括Global.h有权访问的每个 .cpp 上MyTypeVar

看:

何时在 C++ 中使用 extern

外部

extern的作用是什么


推荐阅读