大多数人都知道,不可能有一个标准的参考文献集.也无法复制流对象.
但是,如果我想制作std::vector流对象或流对象引用的集合(比如说),该怎么办?
我知道我可以在例如结构中包装流对象引用,但是你要么需要实现完整的接口(如果你想直接使用包装器作为流,我更喜欢),或者使用公共getter函数和到处使用它来获得实际的流.
有更简单的方法吗?C++ 11解决方案没问题.
你不能有一个容器的引用,但你可以有一个容器std::reference_wrapper.也许你想要的东西:
std::vector<std::reference_wrapper<stream_type>> v;
Run Code Online (Sandbox Code Playgroud)
您可以将其视为std::reference_wrapper非常类似于引用(实际上,它可以隐式转换为引用类型),但它具有作为对象类型的额外优势.
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |