C++ 如何在C++;

C++ 如何在C++;,c++,C++,如何在头文件中填充映射?我有mapsample,需要在头文件中填充它。现在我在本地函数的.cpp文件中填充它,我想在头文件中移动这段代码 如何在头文件中填充映射 您可以像初始化任何其他变量一样执行此操作 我有mapsample,需要在头文件中填充它 这听起来不是一个好的要求。也许你的设计有缺陷。尝试通过函数提供对全局数据的访问。您可以轻松地将其转换为: map<int,int>& getSample(); map&getSample(); 在头文件中。您可以在.cpp文件

如何在头文件中填充映射?我有
mapsample
,需要在头文件中填充它。现在我在本地函数的.cpp文件中填充它,我想在头文件中移动这段代码

如何在头文件中填充映射

您可以像初始化任何其他变量一样执行此操作


我有
mapsample
,需要在头文件中填充它

这听起来不是一个好的要求。也许你的设计有缺陷。尝试通过函数提供对全局数据的访问。您可以轻松地将其转换为:

map<int,int>& getSample();
map&getSample();
在头文件中。您可以在.cpp文件中以任何方式实现它。例如

map<int,int>& getSample()
{     
   static map<int,int> sample = constructSample(); // Assuming you can create such a function.
   return sample;
}
map&getSample()
{     
静态映射sample=constructSample();//假设您可以创建这样一个函数。
返回样品;
}
现在我在本地函数的.cpp文件中填充它,我想在头文件中移动这段代码


这听起来不是个好主意。如果可以避免,请不要这样做。

“需要在头文件中填充它”——听起来像是设计错误。您提供了一个内联构造函数定义,并在头文件中初始化了映射类成员?@πάνταῥεῖ 你能提供code@debonair为什么??请先提供您已经拥有的内容好吗?@tomse:头文件中不应包含变量声明(创建的实例)。这意味着包含该变量的每个源文件,无论是否使用该变量。这也是“无全局变量”策略或搜索“C++全局变量是邪恶的”的一部分。