我今天早上在工作中遇到了一些奇怪的事情,我真的需要谈论它,我在头文件中的一个未命名的名称空间中有一个字符串对象,最后一个包含在主要的cpp文件和其他cpp文件。全局字符串在收到非空内容后保持空白
在main()中,我注意到当这个全局字符串对象使用它的=运算符来设置函数返回的值(一个非空字符串)时,它保持为空!而如果我通过本地字符串更改全局字符串,则最后一次使用新内容正确更新。我记得遇到来自全局变量的奇怪行为,我真的想知道发生了什么。这就像编译器没有正确编译程序...
是否有一些人遇到类似于全局变量的东西,并理解发生了什么?
我解决了这个问题,用一个类来代替未命名的命名空间,并在其中声明了静态字符串。
你可以发布一些代码给你的问题更多的上下文。 – Alex
我需要重现这个问题,我将在明天完成 – Aminos
“我在头文件**中的一个未命名的名称空间**中有一个字符串对象” - 然后,您为每个包含该变量的文件都有一个单独的副本标题。 – user2357112