stl 相关问题

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

c++标准库中有红黑树或avl树的实现吗?

就像multiset是STL中的二叉搜索树实现一样,是否有可用的RB树或AVL树实现?

回答 3 投票 0

在 std::queue 初始化时,它分配内存,然后抛出访问冲突读取位置[关闭]

问题描述 我的复杂代码可以简化如下: #包括 #包括 #包括 #包括 TestCl 类...

回答 1 投票 0

cpp 当 std::queue 初始化时,它分配内存,然后抛出访问冲突读取位置

问题描述 我的复杂代码可以简化如下: #包括 #包括 #包括 #包括 TestCl 类...

回答 1 投票 0

对 std::array 的循环扩展

我想要一个类似数组的固定大小的对象,当新数据进入时它会循环并覆盖数据。我定义了这个模板类: 模板 类 CircularArray { 公关...

回答 1 投票 0

std::vector::data 有什么好的应用?

所以我和我的朋友有一天在查看 std::vector 类时注意到,您可以使用函数 std::vector::data 来检索指向 c++11 中内部数组的指针。直觉上...

回答 3 投票 0

哪里可以下载 GNU C++ 标准库的源代码?

我在http://ftp.gnu.org/gnu/glibc/下载了GNU标准C库(glibc)源代码。在哪里可以找到他们的 C++ 库的类似下载? 我用谷歌搜索了一下,似乎找不到......

回答 2 投票 0

c++ while 循环相当于 for 循环列表遍历 + 擦除不起作用

考虑以下函数 void removeOdd(向量& v) { for(向量::迭代器 it=v.begin(); it!=v.end(); ) { if((*it)%2) it = v.erase(it); 否则它++; ...

回答 1 投票 0

在 C++ std::vector 和 C 数组之间进行转换,无需复制

我希望能够在 std::vector 及其底层 C 数组 int* 之间进行转换,而无需显式复制数据。 std::vector 是否提供对底层 C 数组的访问?我正在寻找...

回答 5 投票 0

将“this”指针转换为字符串

在注册对象必须具有唯一名称的系统中,我想在名称中使用/包含对象的 this 指针。我想要最简单的创建方式???在哪里: std::string 名称 = ???(this);

回答 7 投票 0

std::set begin() 和 std::set 迭代器之间的距离(O(logn))

我需要找到 std::set 中元素的索引。该索引可以可视化为迭代器距开头的距离。 一种方法可以是: for(int i = 0, set::迭代器 it = s....

回答 5 投票 0

std::可选::value_or() - 惰性参数评估

是否可以以惰性方式评估 std::optional::value_or(expr) 参数,以便仅在没有值的情况下计算 expr ? 如果没有,什么是合适的替代品?

回答 4 投票 0

如何使用 STL 复制 C++ 中的映射、过滤和归约行为?

我想我们可以使用 std::transform 来复制 C++ 中的映射行为,如下所示: std::vector = { 1 , 2 , 3 ,4 }; std::vector out(in.size()); std::transform(in.begin(...

回答 3 投票 0

STL:仅保留唯一的字符串字符并保留顺序

std::set 和 std::unordered_set 都只提取唯一字符,但都不保留字符在字符串中出现的原始顺序。 有这么多...

回答 1 投票 0

STL 算法将整个容器而不是 .begin()、end() 作为参数? [重复]

独立的 STL 算法(如 std::count_if)采用一对迭代器。在我使用这些的所有情况下(以及我在网上看到的所有示例!),我发现自己正在输入 std::count_if(myContainer.begin(),

回答 4 投票 0

std::list.erase() 似乎正在重新排列列表的元素

考虑以下函数 void removeOdd(列表&李) { for(list::iterator it=li.begin(); it!=li.end(); it++) { if((*it)%2) it = li.erase(it); } } ...

回答 1 投票 0

<algorithms>操作有迭代器失效规则吗?

例如,在C++20向量中我们有erase和erase_if。它们的效果分别根据remove和remove_if定义(对于擦除[vector.erasure/1]): 效果: 相当于: 自动它 = r...

回答 2 投票 0

在 LeetCode 上检查数组是否已排序和旋转

我完全被这个问题困住了。我试图用 std::is_sorted 和 std::is_sorted_until 解决它,这是我的代码: 类解决方案 { 民众: 布尔检查(const std::vector& n...

回答 1 投票 0

vector_base 继承与组合

简短问题: C++ STL 实现使用 vector_base 结构/类(用于处理资源和分配器)作为 std::vector 的基类而不是使用组合是否有原因? 洛...

回答 2 投票 0

从BST中提取节点,保留假节点

我正在编写一个带有双向迭代器的STL Conrainer BST。为了呈现 .end() 我有“假节点”,这是树的最右边的儿子。我的提取有问题:我的代码工作不正确...

回答 1 投票 0

std::shared_mutex::unlock_shared() 即使 Windows 上没有活动的独占锁也会阻塞

我的团队遇到了死锁,我怀疑这是 SRW 锁的 Windows 实现中的错误。下面的代码是真实代码的精炼版本。总结如下: 主线程获取

回答 1 投票 0

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