- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
根据标题问题。
我假设答案是“否,因为 std::back_insert_iterator
对象在容器上调用 push_back()
。”
如果答案实际上是否定的,那么我可以在我的模板函数中使用任何模板类迭代器来追加到 std::string
吗? , 附加到 std::vector<char>
, 并写入 std::ostream
?
最佳答案
这就是std::ostream_iterator
用于:
#include <iostream>
#include <string>
#include <vector>
#include <iterator>
#include <algorithm>
int main()
{
char c[] = { 'a', 'b', 'c', 'd' };
std::vector<char> v;
std::string s;
std::copy(c, c+4, std::back_inserter(v));
std::copy(c, c+4, std::back_inserter(s));
std::copy(c, c+4, std::ostream_iterator<char>(std::cout));
}
关于c++ - std::back_insert_iterator 可以用在 std::ostream 上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903575/
我有一个看起来像这样的代码: struct Data { int value; }; class A { public: typedef std::deque > TList; std
我有点想实现一种复制运算符。目标是有两个类:一个浏览容器,一个用它做一些事情。 Browse 类还在输出容器上维护(出于某种原因)一个迭代器,另一个迭代器可以用它计算增量。 不幸的是,编译器似乎无法将
我想通过迭代器的相应值填充一个容器到另一个容器的元素(经常发生现实生活中的问题),比如: std::container1 c1{/* initialized */}; assert(!c1.empty
我现在正在学习 C++ STL 迭代器,这里有一段代码教 back_insert_iterator : int main(int argc, const char * argv[]) { vector
我想派生自 std::back_insert_iterator为字符串类型创建一种过滤器,比如 back_xml_insert_iterator ,它将检查通过它传递的字符,寻找不能“裸”到 XML
我正在尝试使用 vector 将 back_insert_iterator 与 remove_copy_if 结合使用,但我遇到了编译错误。 你知道下面的代码为什么不对吗? #include #in
如果随机访问迭代器可用于访问相对于它们指向的元素的任意偏移位置的元素(有点像指针),为什么它们不能用于像 std::copy() 这样的通用算法 而不是使用 back_insert_iterator,
我正在尝试开始使用 C++,应该实现以下功能: std::istream& readResults(std::istream& is, std::back_insert_iterator> inser
我正在尝试连接 back_inserter_iterator 和 cin,我知道我可以将复制与 cin 和 back_inserter 一起使用,但想知道为什么我不能执行以下操作 list name;
std::back_insert_iterator 的 value_type 等于 void,但它还有一个 protected 成员 container 包含指向底层 Container 的指针。我正
如图here std::back_insert_iterator 在 C++17 之前继承自 std::iterator 而在 C++17 中则不是。这种变化的原因是什么? 最佳答案 std::ite
int main() { std::deque mydeque; std::back_insert_iterator myback_insert_iterator(mydeque);
并行 STL 算法是否符合 std::back_insert_iterator?? 我可能误解了 std::par 和 std::par_vec 之间的区别,std::par_vec 是否意味着输出范
根据标题问题。 我假设答案是“否,因为 std::back_insert_iterator 对象在容器上调用 push_back()。” 如果答案实际上是否定的,那么我可以在我的模板函数中使用任何模板
在我的项目中,我想将流拆分为一些给定类型的值,所以我实现了一个模板函数 template TOutputIter SplitSpace(std::istream& IS, TOutputIter r
我是一名优秀的程序员,十分优秀!