gpt4 book ai didi

c++ - std::back_insert_iterator 可以用在 std::ostream 上吗?

转载 作者:太空狗 更新时间:2023-10-29 20:38:21 26 4
gpt4 key购买 nike

根据标题问题。

我假设答案是“否,因为 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));
}

DEMO

关于c++ - std::back_insert_iterator 可以用在 std::ostream 上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31903575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com