当前位置: 首页 > 知识库问答 >
问题:

如何在c中将地图元素推送到deque

公瑞
2023-03-14

我正在尝试c中的python代码。这样我就可以为我的这个python代码创建一个包装器,以加快代码的执行(原始代码不同。现在我正在尝试一小段代码,其中包括deque和字典)。

蟒蛇:

from collections import deque
d=deque()
d.append({'a':1,'b':2})
d.append({'c':3,'d':4})
print(d)

输出:deque([{'a': 1,'b': 2},{'c': 3,'d': 4}])

C 14:

#include <deque> 
#include <iostream> 
using namespace std; 

#include <map>

std::map<char, int> my_map = {
    { 'a', 1 },
    { 'b', 2 }   
};

int main() 
{ 
    deque<int> mydeque;
    mydeque.push_back(my_map); 
    return 0; 
} 

这给了我一个明显的错误。我不知道如何将dictionary元素放入deque?

程序。cpp:在函数“int main()”中:prog。cpp:16:29:错误:调用“std::deque::push\u back(std::map)”时没有匹配的函数

共有2个答案

司徒焕
2023-03-14

您的容器内容类型必须始终是要插入其中的类型。除非你那样做,否则你会出错的。

std::deque<(type of your content)> mydeque;
(type of your content) var1;
mydeque.push_back(var1);
徐学潞
2023-03-14

Python不太关心deque元素的实际类型,因为它只是存储引用。

在C中,deque持有的元素类型必须匹配。deque不是存储引用,而是存储实际对象(除非您在对象上创建指针deque,这里不是这样)。将正确的类型作为模板参数:

std::deque<std::map<char, int>> mydeque;
mydeque.push_back(my_map); 
 类似资料:
  • 本文向大家介绍如何在MongoDB中将元素推入数组?,包括了如何在MongoDB中将元素推入数组?的使用技巧和注意事项,需要的朋友参考一下 要将元素推入数组,请使用$push。首先让我们创建一个包含文档的集合- 以下是在方法的帮助下显示集合中所有文档的查询- 这将产生以下输出- 这是将元素推入MongoDB中的数组的查询- 以下是在方法的帮助下显示集合中所有文档的查询- 这将产生以下输出-

  • 问题内容: 我如何寻找地图中的元素,我正在寻找与方法类似的东西。 问题答案: A的排序方式实际上不像,这意味着您无法按索引访问项目。因此,改组通常没有任何意义。但是您可以这样做(我在示例中省略了泛型):

  • 我还不太了解dockerhub。我得到了以下案例: 我为中心标记了几张图片 docker标签myImageA myuser/myrepo: 1 docker标签myImageB myuser/myrepo: 1 docker标签myImageC myuser/myrepo: 1 然后我用docker push myuser/myrepo推送它们 现在,当删除所有本地图像并再次拉入自己的docker

  • 问题内容: 我在通过VBA中的Selenium引用网站上的搜索框时遇到了麻烦。该框的HTML代码为: 我努力了 但是它们似乎都不起作用。任何帮助是极大的赞赏。 问题答案: 要在所需元素内发送 字符序列,可以使用以下定位策略之一: 使用: 使用:

  • 我正在开发一个使用Akka Http和Akka流的客户机-服务器应用程序。主要思想是服务器必须使用来自Akka Streams的源来提供http响应。 问题是服务器在向客户机发送第一条消息之前积累了一些元素。但是,我需要服务器在源生成新元素时立即发送元素到元素。 我同时获得所有元素,而不是每2秒接收一个元素。 有什么想法可以“强制”服务器发送每个元素,因为它是从源头出来的吗?

  • 本文向大家介绍Git 将本地更改推送到SVN,包括了Git 将本地更改推送到SVN的使用技巧和注意事项,需要的朋友参考一下 示例 命令 将为您的每个本地git提交创建SVN修订版。与SVN一样,您的本地git历史记录必须与SVN信息库中的最新更改同步,因此,如果命令失败,请尝试先执行git svn rebase。