Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ std::back\u insert\u迭代器能否用于std::ostream?_C++_Boost_Stl_Iterator_Iostream - Fatal编程技术网

C++ std::back\u insert\u迭代器能否用于std::ostream?

C++ std::back\u insert\u迭代器能否用于std::ostream?,c++,boost,stl,iterator,iostream,C++,Boost,Stl,Iterator,Iostream,根据标题问题 我假设答案是“否,因为std::back\u insert\u迭代器对象调用容器上的push\u back()” 如果答案实际上是否定的,那么在我的模板函数中是否有任何模板类迭代器可以用来附加到std::string,附加到std::vector,以及写入std::ostream?这就是它的用途: #包括 #包括 #包括 #包括 #包括谢谢。我调整了我的函数,这样就不用接受std::back\u insert\u迭代器作为第四个参数(使用前一个模板参数类型的实例化),第四个参数现在

根据标题问题

我假设答案是“否,因为
std::back\u insert\u迭代器
对象调用容器上的
push\u back()

如果答案实际上是否定的,那么在我的模板函数中是否有任何模板类迭代器可以用来附加到
std::string
,附加到
std::vector
,以及写入
std::ostream

这就是它的用途:

#包括
#包括
#包括
#包括

#包括

谢谢。我调整了我的函数,这样就不用接受
std::back\u insert\u迭代器
作为第四个参数(使用前一个模板参数类型的实例化),第四个参数现在被参数化为
输出迭代器
。非常感谢您的快速帮助。@user1420752如果这解决了您的问题,请单击答案左侧的复选标记接受。
#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));
}