在C ++标准库的<algorithm>标头中定义为模板函数的算法集合。这些函数旨在通常以迭代器的形式处理元素范围。它们设计灵活且可重复使用,包含广泛的功能,并遵守某些性能保证。
C++中<numeric>中算法的输出范围可以与输入范围重叠吗?
有六种算法会在中输出范围(由输出迭代器表示):adjacent_difference、partial_sum、inclusive_scan、exclusive_scan、transform_inclusive_s...
std::adjacent_find 查找满足给定谓词的前两个连续元素。我正在寻找其他算法,它们也有一个谓词,该谓词采用(先前的、当前的)pa...
标准算法库中的哪些算法进行分配?有没有办法指定这种分配如何发生?
我想更多地使用标准算法,但对控制内存分配有一些非常严格的要求。 有分配哪些算法的完整列表吗? 还有,是...
如何从未排序的 std::vector 中删除重复项,同时使用算法保持原始排序?
我有一个整数数组,需要从中删除重复项,同时保持每个整数第一次出现的顺序。我可以看到这样做,但想象有更好的方法......
我有一个并行代码,可以基本上简化为: #包括 #包括 结构 TKeyObjPtr; 类 TObj { 民众: virtual voidCalculate(TKeyObjPtr const &...
是否有一种安全(定义的行为)方式使用 STL 来减少基于其索引有效过滤向量的样板文件?
我经常发现自己想根据索引而不是值来过滤向量。 自动 some_values = std::vector{1, 0, 4, 6, 2}; // 我在某处找出要删除的项目。 // 这...
如何在 constexpr 上下文中调用 ExecutionPolicy 算法?
我想用 ExecutionPolicy 调用标准库算法进行矢量化。同时调用也应该在 constexpr 上下文中工作。不幸的是,ExecutionPolicy 超载了......
给出这段代码: struct T { void f(int const); }; void f(std::vector) &amp;u, std::vector const &v) { for (std::size_t i = 0; i < u.size(); ++i) u[i].f(v[i]...
我有一个嵌套循环,我希望使用STL算法重写它。有人可以帮我吗? std :: bitset bitset {}; short bitsetIndex {0};为(int i = 0; i
STL算法是在C ++中一个非常有用的东西。但有一件事那种认为我厌烦的是,他们似乎缺乏可组合。举例来说,假设我有一个向量 >和...
我有这样的要求在其中找到比值向量的最后一个元素。像find_first_of但不是第一,我想最后一次。我搜索,发现没有find_last_of ...
在特征库向量上使用std :: upper_bound获取错误
我试图使用std :: upper_bound与Eigen库定义的向量。我在visual studio 2017上遇到了一些错误#include #包括 #包括
我有一个QPointF向量,我需要找到最小和最大y值,因为我需要知道向量中数据的幅度是多少。我使用QPointF但是为了添加每个新元素我...
代码调用反向函数不能在Ubuntu 18上的g ++或clang ++上编译,但神秘地适用于mac osx
在Mac OSX上,clang版本7.0.2代码编译。在Ubuntu clang版本7.0.0上它没有。某些默认库真的有区别,这看起来很奇怪吗? MWE:#include ...
为什么std :: find_if(first,last,p)不能通过引用获取谓词?
我在cppreference.com上查看了std :: find_if的各种签名,我发现采用谓词函数的风格似乎接受了它的值:template <class InputIt,...
我试图在我的程序中获得Negmax算法。我明白了,但无论如何我对算法也有点怀疑。但是当currentDepth达到深度最大值之后,它必须停止这个循环....
一个通用的warp级std :: copy-like函数 - 它应该占什么?
C ++标准库使用以下代码(忽略各种包装和概念检查等)使用简单循环实现std :: copy:for(; __first!= __last; ++ __ result,++ __ first)* ...
为什么std :: count_if返回有符号值而不是unsigned? [重复]
刚刚意识到std :: count_if返回一个带符号的值。为什么这样设计?在我看来,它没有任何意义(结果只能是一个自然数,即非负整数),因为它......
我已经尝试将std :: vector的内容复制到std :: multiset中,如下所示:std :: vector V(32768); std :: generate(v.begin(),v.end(),rand);的std :: multiset的 米(V ....
我有一个矢量 我想将所有指向元素的元素放入向量中 。所有非指向元素都设置为nullptr。我在考虑做这样的事:......