问题标签 [stdlist]

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 回答
245 浏览

c++ - 在列表 C++ 中搜索?

感谢您提前查看我的问题。

我正在完成一个大学作业的问题,该问题询问以下内容:

对于每个 std::list< >、std::map< >、std::unordered_map< > 文档并解释元素插入和查找的保证性能。

在我开始解释列表中的元素查找之前,我大部分时间都没有遇到任何问题。

我一直在从 Josuttis 和http://www.cplusplus.com收集我的信息,但似乎找不到任何关于此的信息。

我猜是因为不可能?

0 投票
1 回答
136 浏览

c++ - 可变函数声明 VS 采用列表的函数

在设计一个类或一个函数时,下面显示的哪种方式更好,为什么?

提供像 addItemVariadic(..) 或 addItemList(..) 这样的函数更好吗?

还是提供一组这样的功能更好,比如进一步获取一些迭代器,或者限制功能更好,比如只获取一个列表?

0 投票
1 回答
55 浏览

c++ - 列出库中的变量导致运行时错误,为什么?

好的,伙计们。我已经通过移动变量定义修复了错误,但我不明白为什么会出现问题。
简化背景:我有一个对象,我想在一个列表中跟踪该对象的所有实例,所以我只是创建了一个 List<> 类的静态成员。下面是一个简单的表示,让我可以使用它。如果我在静态库中将该行标记为“此行”。我收到运行时错误。该对象在头文件中定义,并且在两个地方都是相同的头文件。如果我将“这一行”移动到最终应用程序中的代码并且它可以工作......为什么?我只是不明白为什么它不同。

0 投票
2 回答
70 浏览

c++ - 如何将支持的类型添加到现有的传统 std::list 操作函数(即模板?)

我有一个关于将支持的类型添加到现有的传统 std::list 操作函数的具体问题。我试图用模板做到这一点但没有成功,所以我很感激任何关于如何更好地使用模板或完全使用不同机制的建议。请在下面查看我的场景,如果对此有任何想法,请告诉我。提前感谢您的帮助!

我目前有两个 A 类型的 std::lists,并为它们提供了插入/删除/getter/etc 函数。下面显示了一个简化的代码片段。

现在,事实证明我需要添加类型 B,并且我考虑使用模板来添加这种新类型(如下所示),但事实证明这样做有两个问题。

问题 1:我不能拥有“std::list& List”,因为它是引用的,因此需要将其分配给实际列表。所以我最终会得到这样的东西,这并不理想。

问题 2:我收到 A 到 B 或 B 到 A 的类型转换错误。我认为这是因为给定模板 T,编译器将枚举“ListA.push_back”和“ListB.push_back”的所有四种可能性这导致将A插入列表A,将B插入列表A,将A插入列表B,将B插入列表B,其中只有两个是有效的。所以我最终得到了这样的东西,我认为这违背了使用模板的目的。

0 投票
3 回答
1937 浏览

c++ - std::list::clear 是否使 std::list::end 迭代器无效?

检查此代码:

现在,根据cplusplus.com的说法,这应该不是问题,在发布模式下,我认为这很好,不会引起任何问题,但调试变得不可能,因为这只是让我继续下去。任何指针?

0 投票
1 回答
1084 浏览

c++ - 为什么删除列表的 _first_ 元素会使 `.rend()` 无效?

使用 XCode 4.6 在 Mac OS X 上测试。

此示例代码显示了std::list按我的预期删除作品的最后一个元素:迭代器引用list::end()仍然是“结束后 1”并且仍然有效,即使通过删除最后一个元素也是如此

但第二个例子与我的直觉相反。删除列表中的第一个元素changeslist::rend(),我认为这是“1 过去的开头”。

我的预期错了吗?为什么错了?为什么通过删除最后一个元素对“结束后的 1”的引用仍然有效(不应该吗?),但.rend()在删除前面的元素后对“开头()前面的 1”的引用变得无效?

0 投票
1 回答
108 浏览

c++ - 包含列表的 c++ 映射

我想创建一个映射,其中键是 int,值是数组列表 ( int[][])。

我试过这个:

但它不会编译,我不明白为什么......(R和C是程序的参数,但在执行过程中不会改变)。

0 投票
5 回答
3178 浏览

c++ - C++ - 如何将 char* 转换为 std::list

这是一个初学者类型的问题

我只是想知道是否有办法将空终止的 char* 转换为 std::list。

谢谢

0 投票
5 回答
799 浏览

c++ - 是否可以在一行中创建一个 std::list 并指定其值(c++)?

我想std::list通过指定它的值来创建一个,我想在一行中完成它,例如:

我找不到简单的方法来做到这一点(我对c++ 参考的示例std::list不满意),我错过了什么吗?如果标准列表不可能,有什么原因吗?那么实现它的最简单方法是什么?

提前致谢。

0 投票
3 回答
6361 浏览

c++ - 获取 std::list 的前 N ​​个元素?

如果 N >= 列表大小(并且也处理 N = 0),获取作为 std::list 的前 N ​​个元素或整个列表的新列表的正确且安全的方法是什么?

更新

其实我不一定需要新的列表,我只是想在后续代码中对列表的子集进行操作。我认为创建一个新列表是一种合理的方法(注意列表大小通常小于 50)。