c++ - 如何在c ++中创建结构向量的映射
问题描述
我有一张地图std::map<int, std::vector<Data>>myMap
,我的结构定义如下。
struct Data
{
int x;
int z;
int y;
};
在 myMap 中,键是 int,值是结构向量,我不想在插入地图时创建临时向量或结构。有什么想法可以实现吗?
解决方案
一种方法是使用emplace
和std::move
myMap.emplace(key, std::move(myVec));
通过使用std::move
,您可以在地图之外构建矢量,然后将该矢量移动到地图中而无需任何复制。
推荐阅读
- groovy - Groovy + Insight(Jira)拆分方法异常
- css - Angular 8 - 如何根据用户所在的组件动态设置正文标签的样式?::ng-deep 在视图更改时被覆盖
- javascript - UWP javascript 崩溃
- python - 如何重置海龟并擦除海龟图形中的文本?
- android - 在android中安装ttf文件
- angular - 错误类型错误:无法读取未定义的属性“clothing_products”
- tomcat - 如何将 TOMCAT 管理器页面路由到自定义错误页面
- java - 如何将 kx.Flip 对象中的数据检索为 Java 中更易读的形式?
- java - 如何使用 selenium 处理移动 OTP
- excel - VBA 相交行和列