gpt4 book ai didi

c++ - 如何创建流对象的集合

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:00 26 4
gpt4 key购买 nike

众所周知,standard collection of references 是不可能的.也无法复制流对象。

但是如果我想创建一个流对象或流对象引用的集合(例如 std::vector)怎么办?

我知道我可以将流对象引用包装在例如一个结构,但是你要么需要实现完整的接口(interface)(如果你想直接将包装器用作流,我更愿意这样做),要么使用公共(public) getter 函数并在任何地方使用它来获取实际流。

有没有更简单的方法? C++11 解决方案没问题。

最佳答案

你不能有引用的容器,但你可以有 std::reference_wrapper 的容器.也许你想要这样的东西:

std::vector<std::reference_wrapper<stream_type>> v;

您可以像对待引用一样对待 std::reference_wrapper(事实上,它可以隐式转换为引用类型),但它具有作为对象类型的额外优势。

关于c++ - 如何创建流对象的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15924303/

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