stl 相关问题

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

任何 Ranges 视图适配器类型(来自 `std::views`)是否依赖于堆分配?

我知道至少大多数 Ranges 视图类型不需要任何堆分配。例如,您可以在堆栈上获取一个 C 数组并将其通过 std::views::take(42) 进行管道传输,而不会导致任何堆 -

回答 1 投票 0

将 std::vector<int> 设置为范围

将 std::vector 设置为某个范围的最佳方法是什么,例如3 到 16 之间的所有数字?

回答 6 投票 0

在 C++ 中使用 istringstream 将字符串拆分为整数

我正在尝试使用 istringstream 将一个简单的字符串拆分为一系列整数: #包括 #包括 #包括 #包括 使用名称...

回答 3 投票 0

C++17 使用 find_if 的执行策略

我在向量上使用 std::find_if 。我只对满足谓词的元素的存在感兴趣。 Vector中有多个满足谓词的元素。我试过没有和...

回答 1 投票 0

为什么不为 std::vector 重载operator+=()?

我已经开始学习C++,所以我不知道由于我缺乏知识/经验,为什么像我将要描述的对于菜鸟来说看似简单的东西在STL中还没有。将向量添加到

回答 5 投票 0

如果设置了 bool 标志,则使 std::max_element 跳过元素

我有一个项目向量和一个布尔标志: std::vector> 项目; 我正在贪婪地(而且效率低下,我知道这一点,而且这是故意的)寻找所有最好的

回答 1 投票 0

为什么 std::errno 不存在,而“errno”却存在?

为了让我的代码更符合C++风格而不是C风格,我想用std::errno替换errno,用include 替换include 。 令我惊讶的是,

回答 1 投票 0

未捕获的 std::Exception 导致核心中的堆栈跟踪不正确

这是我的代码: #包括 #包括 使用命名空间 std; 使用命名空间 std::tr1; 使用命名空间 std::tr1::占位符; 班级活动 { 民众: typedef s...

回答 1 投票 0

C++。使用自定义 lambda 将二进制数组累加为整数

如何将包含0和1的二进制数组累加为整数? 向量 arr = {1,0,1,0,1,1,1,0,1,0,0}; int num = 累积(arr.begin(), arr.end(), [] (int &a, int &b) ...

回答 2 投票 0

std::set 比较器 - 基于多个属性的 STL 排序

我正在使用自定义比较器测试 std::set 。但我看到同一个对象被插入两次。 以下是对象类: 班级信息 { 民众: 信息(字符串 n,字符串 o...

回答 3 投票 0

如何为 C++ 迭代器定义相等性?

我正在实现一个有向图数据结构,其中边存在于两个同时链接的列表中:顶点的传出边的列表和相对顶点的传入边的列表。 我已经

回答 1 投票 0

STL 和范围可读性

我曾经以一种可以被理解为简单英语的方式编写代码。 有人可以告诉我如何更好地用这些术语阅读下面的代码吗? 我的问题是下面的代码读作“era...

回答 1 投票 0

增加二分搜索以查找排序范围内的不匹配情况

我有非常大的向量(千兆字节),其中包含重复的排序值,并且经常需要跳转到向量中的下一个不同值。向量中的实际值不是整数,比较是时间-

回答 1 投票 0

解压 std::array

我尝试通过 std::tie 解压 std::array: #包括 #包括 int main() { std::array arr = {1, 2, 3}; 整数a、b、c; std::tie(a, b, c) = arr;...

回答 2 投票 0

将唯一指针传递给 lambda 捕获中的函数以进行并行执行

这个问题是这个问题的后续问题。值得注意的是,通过删除 标头并使用 std::for_each() 重载而不执行策略,它可以很好地工作。 我有一个带有 m...

回答 1 投票 0

为什么 `std::swap< std::array<int,3> >` 无法编译?

我想交换两个固定大小的整数数组。 与直觉相反,以下内容无法编译,因为没有找到匹配的交换实例。 #包括 #包括<

回答 1 投票 0

C++ 从映射的第二个元素开始迭代

我有一个 std::multimap,我正在使用前向迭代器进行迭代。 std::multimap::迭代器; for(it=map.begin();it!=map.end();++it) { // 做一点事 } 现在我需要...

回答 6 投票 0

std::vector 范围初始化的幕后是什么? [重复]

#包括 #包括 #include“iostream” 类人{ 民众: std::string name{"no-name"}; 人() { std::cout << std::str...

回答 2 投票 0

有没有办法在 std::vector 数据的开始和结束处引入透明哨兵?

一些算法(如字典搜索和比较)可以写得更短,而不需要对数组进行边界检查,特别是当涉及到通过索引比较字符串时。 为了考试...

回答 2 投票 0

有没有办法在 std::vector 数据的开始和结尾处引入透明的停止值?

一些算法(如字典搜索和比较)可以写得更短,而不需要对数组进行边界检查,特别是当涉及到通过索引比较字符串时。 为了考试...

回答 1 投票 0

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