stl 相关问题

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

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

如何在我的 dll 接口或 ABI 中使用标准库 (STL) 类?

之前有一些关于导出包含与 Visual Studio 警告 C4251 相关的 stl 类的类的问题:这个问题或者这个问题。 我已经读过excel了...

回答 1 投票 0

C++ 舍入双半接近 0

我面临的情况是需要将 0.5 和 -0.5 舍入为 0。所以我检查了各种文档 - 通用 C++ 方法似乎总是与 0 相差 0.5。 https://en.cppreference.com/w/cpp/

回答 1 投票 0

使用 __gnu_pbds 进行多重集排序统计树

我正在尝试使用 __gnu__pbds 实现订单统计树。我遵循了这段代码 TREE_ORDER_STATISTICS 但是,我需要在多重集上使用它。有人建议我使用一对来实现这个

回答 3 投票 0

std::map的key类型可以是double还是float吗?

我写了一个测试用例: //环境:编译器=msvc140-x64 系统=win10 #包括 #包括 int main(int argc, char* argv[]) { 标准::地图

回答 1 投票 0

STL Map 或 HashMap 线程安全吗?

我可以在多线程程序中使用map或hashmap而不需要锁吗? 即它们是线程安全的吗? 我想同时在地图中添加和删除。 好像有...

回答 6 投票 0

“find()”如何在“std::set<std::pair<int,int>>”中工作?

我正在解决 LeetCode 问题“路径交叉”,其中我使用了一个集合>,试图找出点 x,y 是否已经在路径中。但我没有得到想要的结果。

回答 1 投票 0

STL 容器如何处理赋值运算符

我想了解Vector或UnorderedMap的复制赋值运算符后面指定的语义。是否在某处说明了此操作将执行什么操作(或者是实现定义...

回答 1 投票 0

将向量附加到向量[重复]

假设我有2个标准向量: 向量 a; 向量 b; 假设两者都有大约 30 个元素。 如何将向量 b 添加到向量 a 的末尾? 肮脏的方式......

回答 4 投票 0

什么是域错误

在 C++ 中, 有一个“域错误”的基类 std::domain_error。我不明白在什么情况下我应该在代码中抛出域错误。所有其他例外...

回答 8 投票 0

如何获取队列的最小值和最大值?

你能设计一个像队列一样包含“入队”、“出队”、“最小值”和“最大值”的数据结构吗? 我知道一种使用 2 个堆栈创建队列来查找最小值和最大值的方法...

回答 4 投票 0

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