7得票1回答
tolower与std::tolower的区别

我 using namespace std; vector<char> tmp; tmp.push_back(val); ... 现在当我尝试时 transform(tmp.begin(), tmp.end(), tmp.begin(), std::tolower); ...

7得票3回答
C++ STL:将空容器传递给 lower_bound

当向 std::lower_bound 传递一个空容器时,它的行为是否被定义?我查看了cppreference.com和一份我在线找到的旧版本C++标准,但都没有找到确切的答案。然而,cppreference.com关于std::deque::erase的文档中有一句话: 如果 first...

15得票1回答
fill_n和fill是同一函数,只是具有不同的参数重载吗?

我正在研究 <algorithm> 的 fill 和 fill_n 函数,它们似乎做的事情差不多,只是定义不同。 这是真的吗?如果不是,它们有什么不同? 它们的描述方式似乎相同(我从 MSDN 上阅读了 fill_n 和 fill 的说明)。 如果它们是一样的,那么拥有这两个...

20得票5回答
STL vector的reserve()和copy()功能解析

问候, 我正在尝试使用以下两行简略代码(完整测试应用程序如下)从一个向量(vec1)复制到另一个向量(vec2):vec2.reserve( vec1.size() ); copy(vec1.begin(), vec1.end(), vec2.begin()); 虽然调用vec2的函数设置了...

29得票3回答
std::partial_sum和std::inclusive_scan有什么区别?

在阅读关于std::inclusive_scan的内容时,似乎没有任何示例。 它给我留下了与std::partial_sum非常相似的印象。 partial_sum:template< class InputIt, class OutputIt > OutputIt partia...

16得票4回答
std::fill、std::copy是否专门为std::vector<bool>进行了优化?

当我思考这个问题时,我开始思考是否std::copy()和/或std::fill已经专门为std::vector&lt;bool&gt;进行了优化。 C++标准是否要求这样做,或者这是C++ std库供应商的常见做法? 简单地说,我想知道以下代码是否可行:std::vector&lt;bo...

8得票4回答
在末尾插入是否等同于使用std::copy()?

考虑以下两种方法向向量中添加元素: std::vector&lt;int&gt; vi1(10,42), vi2; vi2.insert(vi2.end(),vi1.begin(),vi1.end()); &lt;OR&gt; std::copy(vi1.begin(),vi1.end()...

124得票6回答
如何找到两个STL集合的交集?

我一直在尝试在C++中找到两个std::set之间的交集,但我一直得到一个错误。 为此,我创建了一个小的样本测试。#include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;algorithm&gt; #include &lt;...

15得票2回答
map, lambda, remove_if

所以,我在使用std::map、lambda和stl算法(remove_if)时遇到了问题。实际上,同样的代码在使用std::list或std::vector时,运行良好。 我的测试示例:#include &lt;map&gt; #include &lt;iostream&gt; #incl...

13得票1回答
为什么std::max_element需要ForwardIterator?

C++标准库的max_element算法要求作为输入的迭代器需要符合ForwardIterator的模型。 我的理解是,ForwardIterator通过指定你可以使用ForwardIterator多次迭代同一范围来细化InputIterator。因此,多遍算法需要ForwardIterat...