可以删除的一元谓词具有副作用
can unary predicate for remove_if have sideeffects?
如果那些arent修改容器?例如,我想输出我从向量中删除的所有ints(而且我不想使用多个通行证:例如:分区 输出 擦除)。除了设计恐怖,这是合法的:
v.erase(remove_if(v.begin(), v.end(), [] (const int i) -> bool
{
if (i%2==0)
{
cout << i << endl;
return true;
}
else return false;
}, v.end());
afaik标准准确保证了谓词在每个元素上的一种应用,所以我很好,因为我不在乎订单...
标准确实确实保证了这一点,所以你很好。不过,除了调试外,我仍然会认为这是不好的样式。
相关文章:
- std::condition_variable::wait()如何评估给定的谓词
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 一元*运算符的操作数是否期望一个 prvalue
- 一元"运算符"未在C++中定义
- 如何解决一元"*"(有"字符")错误的无效类型参数?
- 如何在 STL 函数中找到传递给谓词的元素的索引?
- 为 C++11 算法组合多个谓词
- C++11 标准是否保证零值有符号整数的一元减号为零?
- 处理 std::enable_if<...中谓词的逻辑"OR">
- std::map与谓词与初始化列表
- 尝试使用谓词函数会导致错误:"std::sort"未找到匹配的重载函数
- 如何有效地操作满足给定谓词的向量中的所有项目?
- 应用于无符号类型的一元减号运算符
- 排序谓词没有传递对索引对象的引用?
- 将 unordered_map 与 Catch2 谓词一起使用时类型不匹配
- C2675 一元运算符由错误的作用域引起
- 为什么指向非静态成员函数的指针不能用作标准库算法的一元谓词
- 具有成员函数的一元谓词
- 可以删除的一元谓词具有副作用
- 如何在一元谓词中使用类成员变量