gpt4 book ai didi

c++ - 插入一个元素到柠檬图库 map 而不复制

转载 作者:太空宇宙 更新时间:2023-11-04 11:54:01 24 4
gpt4 key购买 nike

我正在使用 Lemon Graph Library我想在不复制或分配的情况下将项目添加到柠檬 map 。这是代码:

#include <iostream>
#include <lemon/list_graph.h>
#include <lemon/maps.h>

using namespace lemon;
using namespace std;

typedef lemon::ListDigraph LGraph;
typedef lemon::ListDigraph::Arc LArc;
typedef lemon::ListDigraph::Node LNode;

class MyNode {
public:
CrossRefMap<LGraph, LArc, std::string> inputs;

MyNode(const LGraph& graph) : inputs(graph) { }
};


int main(){
LGraph graph;
LGraph::NodeMap<MyNode> nodes(graph);

LNode n = graph.addNode();
nodes[n] = MyNode(graph); // error: object of type 'MyNode' cannot be assigned because its copy assignment operator is implicitly deleted

return 0;
}

这里的主要问题是 CrossRefMap 需要在构造函数中初始化并且没有复制构造函数或赋值运算符。我可以改用指向此结构的指针,但此解决方案并不令我满意。我怎么解决这个问题?任何建议将不胜感激。 ;)

最佳答案

据我所知,使用标准 lemon 映射是不可能的,因此我基于 std::map 实现了自己的映射。我可以使用柠檬图观察器跟踪图中的变化并更新我的 map 。

关于c++ - 插入一个元素到柠檬图库 map 而不复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16936672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com