将堆栈参数放入地图
Put a stack params to a map?
我在CCArmatureDataManager.cpp 253行查看此代码。相对数据是一个结构体。在这里,将堆栈参数放入地图中。为什么,没问题??有人向我解释吗?感谢!!!
struct RelativeData
{
std::vector<std::string> plistFiles;
std::vector<std::string> armatures;
std::vector<std::string> animations;
std::vector<std::string> textures;
};
void CCArmatureDataManager::addRelativeData(const std::string& configFilePath)
{
if (_relativeDatas.find(configFilePath) == _relativeDatas.end())
{
_relativeDatas[configFilePath] = RelativeData();
}
}
在表达式中
_relativeDatas[configFilePath] = RelativeData()
RelativeData()
部件创建一个临时默认构造的对象。
_relativeDatas[configFilePath]
部分调用返回对对象的引用的 std::map::operator[]
。
赋值从临时对象复制到 []
运算符返回其引用的对象。换句话说,调用RelativeData
复制赋值运算符(在大多数情况下,如果您没有编译器,编译器将为您创建一个)。
如果没有带有键configFilePath
的元素,则映射将默认构造一个元素,并返回对它的引用。
因此,您的代码所做的是创建两个默认构造的 RelativeData
类型的对象,并将内容从一个复制到另一个。用也许不是那么好的话来说,它几乎毫无用处。
看起来该函数只是在_relativeDatas映射中添加了一个空结构(如果还没有的话)一个空结构(它看起来是一个 std::map <std::String> ),然后可以用数据填充
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 以矢量作为参数的地图
- 我可以动态创建新地图并作为函数参数传递吗?
- 遍历地图并将该对用作参考参数 C++11
- 用于接收通用地图作为参数的模板函数
- 如何将模板函数指针作为值参数添加到地图中
- 如何使用可变参数模板作为 std::type_index 地图的键
- 通过参考传递地图时缺少模板参数
- OpenGL glTexImage2D 立方体地图和宽度/高度参数
- 如何将地图作为参数传递并在此方法中添加
- 将堆栈参数放入地图