问题标签 [containers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
907 浏览

c++ - C++ 模板化容器类:如何最好地支持有序和无序项类型?

我正在编写一个模板化的 C++ 通用容器类,它可以选择以明确定义的顺序维护其内容。以前它使用函数指针以合理的类型特定方式对其内容进行排序,但我试图将其更改为使用模板化仿函数参数。

由于通常情况下,类的用户可能希望在不同的容器中保持相同类型的项目以不同的方式排序,容器类采用一个可选的模板参数,让用户可以选择指定他自己的比较函子:

如果类用户未指定自定义仿函数类型,则默认使用以下 CompareFunctor 定义:

这适用于内置类型以及定义了小于运算符的用户定义类型。但是,我希望它也自动适用于没有内置或明确定义的小于运算符的类型。对于这些类型,容器内项目的顺序并不重要。

动机是我使用这个容器来保存很多不同的类型,而且大多数时候,我并不关心容器中类型的顺序,但在某些情况下我会……而且我不关心不想必须进入并向所有这些不同类型添加“虚拟”小于运算符,这样我就可以将它们与这个容器类一起使用......而且我不想显式指定自定义“虚拟” " 每次我使用表存储没有小于运算符的项目时,CompareFunctor 参数。

那么,有没有一种方法可以使用模板专业化(或其他东西),以便尽可能使用默认的 CompareFunctor(如上所示),但在该 CompareFunctor 会导致错误的情况下,C++ 会自动回退到“虚拟”像下面这样的 FallbackCompareFunctor?或者也许其他一些巧妙的方法来处理这个困境?

0 投票
2 回答
165 浏览

c# - C# 容器问题

我在向容器中添加东西时遇到了一个奇怪的问题。每当我尝试添加项目时,它都会退出 while 循环,即使 isServer 仍然是 1。我尝试创建一个自定义函数,结果相同。然后我尝试直接调用 Add(..) 函数,结果仍然相同。我看不到将项目插入容器应该如何退出循环?这是游戏数据类:

0 投票
1 回答
9566 浏览

jquery - 图像/链接的 jquery onmouseover 在同一位置显示一个 div(工具提示)

我想将鼠标悬停在图像上-> 在链接中

在我结束时,图像应该弹出(如工具提示)一个 div,我也可以用一些东西填充它 - 有什么想法吗?!

$this是包含img的链接:我在其中找到了图像,并希望在图像上方跨越一个div并制作一些jquery效果,让用户获取信息,单击图像会放大它

不起作用:-/

0 投票
4 回答
706 浏览

algorithm - 为工作选择正确的 STL 容器的标准?

您是否只是根据以下属性选择 STL 容器?

  1. 搜索/更新
  2. 插入和
  3. 删除

如果不是,您的选择还有什么依据?是否有任何参考资料列出了每个容器在所有这些不同属性中的表现?

0 投票
3 回答
6556 浏览

java - Java Web 服务容器

我刚开始学习 Java Web 服务 (JAX-WS) 并且有一个问题。参考文档总是谈论 Web 服务容器。我的问题是:什么是 Web 服务容器以及我们为什么需要它。我在“java web services up and running”一书中看到了一个简单的 JAX-WS 示例,其中使用以下方式发布 web 服务:

此示例不需要我在 Web 服务器/应用服务器或任何容器中托管 Web 服务。

而且我还能够访问此网络服务。

那么什么是容器,为什么我们需要它来提供 Web 服务呢?

0 投票
4 回答
38002 浏览

c++ - 队列的限制大小在 C++ 中

我注意到类似问题的线程:Limit size of Queue<T> in .NET? 这正是我想要做的,但我使用的不是 .net,而是 GNU C++。我没有引用 GNU C++ 中的基类,因此 javasuper.***()或 .net 之类的base.***()将不起作用。我一直在尝试从队列类继承,但结果是徒劳的。

我想要做的:指定队列的大小,当队列满时自动出队。具体来说:如果我的队列的最大大小为 2,当我推送第 3 项时,会在推送新项目之前自动弹出第 1 项。

如何实现这样的队列?

谢谢。

0 投票
3 回答
3384 浏览

jquery - jQuery UI 对话框可以保存视频吗?(也许是 youtube 视频?)

我在网上没有看到任何例子。想知道是否有人知道是否存在或者是否有可能。

谢谢

0 投票
6 回答
81373 浏览

java - Java中有哪些容器

谁能给我一个简短的Java容器完整列表?我知道的一些是 Array、Arraylist、Hashtable、HashMap、HashSet、Node、NodeList、TreeNode 和 TreeMap。

0 投票
2 回答
324 浏览

c# - 在创建专门的集合时更喜欢继承还是包含?

我需要专门的集合类。我们称它们为 FooItems 和 BarItems。

我基本上需要列表的所有功能,但是当从集合中添加或删除新项目时,我需要做一些额外的工作。

我的第一个尝试是简单地从 List 和 List 派生,然后创建我自己的 Add 和 Remove 方法。这当然会创建一个隐藏副作用的函数,编译器建议使用“new”关键字来显式隐藏基类。

不过这感觉很臭。如果有人通过 List 或 IList 引用引用 FooCollection,这可能会导致问题,因为它不会调用我的(非虚拟)Add 函数,而是调用 List 版本。

当然,在我当前的代码中,这不太可能发生……但人们永远无法预测未来。

当然,另一种选择是重新实现 IList 接口并包含列表,但这很容易违反 DRY(而且这也是很多工作,尤其是对于多个集合)。

我已经倾向于将收容作为首选方法......只是想知道是否有人对此有一些意见。

0 投票
13 回答
8241 浏览

c++ - 为什么 STL 容器优于 MFC 容器?

以前,我曾经使用过 MFC 集合类,例如CArrayCMap. 一段时间后,我切换到 STL 容器并使用了一段时间。虽然我发现 STL 好多了,但我无法指出它的确切原因。一些推理,例如:

  1. 它需要 MFC:不成立,因为我的程序的其他部分使用 MFC
  2. 它取决于平台:不成立,因为我只在 Windows 上运行我的应用程序。(不需要可移植性)
  3. 它在 C++ 标准中定义:好的,但是 MFC 容器仍然可以工作

我能想到的唯一原因是我可以在容器上使用算法。还有什么我在这里遗漏的其他原因 - 是什么让 STL 容器比 MFC 容器更好?