代码之家  ›  专栏  ›  技术社区  ›  A. Khan

地图数据结构不在主视图中显示保存的条目。清洁石油产品

  •  0
  • A. Khan  · 技术社区  · 8 年前

    我找不到任何与此相关的问题,可能是因为我不知道如何准确地表达它。因此,我在头文件中创建了一个带有static关键字的映射,然后将条目保存在源文件中。我在源文件中测试了地图,它成功地保存了条目。然而,当我主要调用地图时。将cpp文件中的条目打印出来,映射为空。有谁能帮我一个办法,让地图在主要调用时保留条目吗?

    我认为通过使其保持静态,条目将保留在地图中,直到程序结束,但似乎不是这样,我不知道其他方法。谢谢

    1 回复  |  直到 8 年前
        1
  •  2
  •   Vlad from Moscow    8 年前

    当在名称空间中使用存储类static定义对象时,该对象具有内部链接。因此,在您的例子中,每个编译单元都有自己的映射对象。

    3具有命名空间范围(3.3.6)的名称具有 内部联动装置 如果是的话 (3.1)的名称

    变量、函数或函数模板 是明确的 声明静态 ; 或

    ...

    您应该用关键字声明地图 extern (而不是 static )在头文件和一个源文件中定义对象。