stl 相关问题

标准模板库(STL)是通用容器,迭代器,算法和函数对象的C ++库。当C ++被标准化时,STL的大部分被采用到标准库中,并且标准库中的这些部分有时也被错误地统称为“STL”。

将 std::transform 应用于每个第 n 个元素

有没有一种方法可以从另一个迭代器构造一个迭代器,该迭代器总是前进(在 std::advance 的意义上)一个数字 n ?我想将迭代器传递给 std::transform 但变换...

回答 1 投票 0

创建 std::weak_ptr 为数组类型 std::shared_ptr 的索引值?

我有一个很大的数据集,基本上是这样加载的: for(int i=0;i(Object()); //用ptr做事 } 这对于表演来说不太好......

回答 1 投票 0

如何从 stl 向量中删除具有特定值的项目?

我正在查看 stl 矢量的 API 文档,注意到矢量类上没有允许删除具有特定值的元素的方法。这似乎是一个常见的操作...

回答 12 投票 0

如何在STL算法中将模板类型注册为有效的value_type

我正在尝试编写一个模仿STL列表的自定义容器。我提供了一个 List 类(未显示)、一些基本功能和一个自定义双向迭代器。尝试符合 STL 标准...

回答 1 投票 0

如何在从另一个容器创建 std::vector 时确保一次性内存分配?

当我需要从另一个容器的某些元素创建 std::vector 时,例如另一个向量,确保新向量仅在内存中分配一次的最安全方法是: std::向量&l...

回答 2 投票 0

为什么向量中的原始指针不会变成nullptr? [重复]

我想动态分配一个int,然后将相应的指针推入向量中。使用后,我将向量的所有元素设置为nullptr,但原始指针并没有变成nullptr。 ...

回答 1 投票 0

为什么向量中的原始指针不会变成nullptr?

我想要“新”int 指针,并将其推回到向量中。 使用后,我将向量的元素设置为nullptr,但原始指针不会变成nullptr。 为什么会出现这种情况? 万一我必须使用原始的

回答 1 投票 0

列表整数对向量的初始化

我正在列表初始化一对整数的向量。 我按照预期理解了以下工作: int main() { std::vector> vpairs_first{std::make_pair(0, 1), std::make...

回答 1 投票 0

反向迭代器寻址调整背后的直觉

尝试培养一种通过前向和后向迭代器使用索引寻址向量元素的直觉。因为,例如根据 en.cppreference.com, “对于反向迭代器 r 构造...

回答 1 投票 0

按对象属性搜索对象向量

我正在尝试找出一种很好的方法来查找向量中某个对象的索引 - 通过将字符串与对象中的成员字段进行比较。 像这样: 查找(向量.开始(),向量.结束(),[对象

回答 4 投票 0

有没有办法从比较谓词中了解容器?

在下面的代码中,值向量包含按索引索引的数据。它对于排序或搜索效果很好,而我必须在比较器中处理一个值(实际上是一对)......

回答 1 投票 0

对RB-Tree迭代器自减函数的疑问

我正在用Js模式写一个类似STL的容器库js-sdsl。 有一个关于STL RB-Tree中的自减函数(迭代器的前向函数)的问题。 当我插入两个不同的值时我...

回答 1 投票 0

为什么 std::flat_set 和 std::flat_map 具有 std::initializer_list 的重载构造函数,而其他容器适配器则没有?

我注意到 C++23 为 std::stack 和 std::queue 容器适配器的构造函数添加了新的重载,允许使用范围 [first, ...

回答 2 投票 0

如何通过视图对数据进行索引排序?

在下面的代码中,值向量包含按索引索引的数据。模板索引允许对 std::ranges::equal_range 等函数进行透明索引,但我看不到排序的方法...

回答 1 投票 0

如何向后迭代 STL 列表?

我正在编写一些 Windows 和 Mac 之间的跨平台代码。 如果 list::end() “返回一个迭代器,该迭代器寻址列表中最后一个元素之后的位置”,并且可以在

回答 5 投票 0

C++ 中 STL 算法的透明索引

我想使用 STL 算法简化索引工作(当您有另一个容器的索引数组以加快访问速度时,比如说对索引进行排序)。我想做...

回答 1 投票 0

如何在从另一个容器创建 std::vector 时确保一次性内存分配?

当我需要从另一个容器(假设是另一个向量)的某些元素创建 std::vector 时,最安全的方法是确保新向量仅在内存中分配一次(从技术上讲,

回答 1 投票 0

如何在 C++ 中为向量内的一系列元素赋值?

我有一个整数向量,例如 {0, 0, 0, 0, 0}。我需要将一系列元素的 v[i] 加 1,例如 v[1] 到 v[3],以便得到 {0, 1, 1, 1, 0}。如何做到这一点?

回答 2 投票 0

在 STL 中选择具有最快插入和查找速度的数据结构

我正在寻找一种在STL中存储整数的数据结构。 我要支持的主要操作是插入和删除、查找前20个元素、查找第k大元素...

回答 1 投票 0

使用 unordered_set/unordered_multiset 导致迭代器失效

我知道,unordered_set 会使迭代器无效: “如果发生重新散列(由于插入),所有迭代器都会失效。” 很明显,因为我们有带桶的哈希表,但是......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.