首页 > 解决方案 > c ++将字符串引用包装在ostream中

问题描述

我有一个返回非常量字符串引用的对象。我想将此字符串引用传递给一个方法,该方法采用对 ostream 的引用,允许该方法写入字符串引用。有没有办法将字符串引用包装在 ostream 中(使用 std 或 boost 库),以便可以通过 ostream 写入字符串引用?我不想使用 stringstream,因为它会复制字符串,因此不会写入原始字符串.

例如。

库 A 返回一个字符串引用。库 B 引用 ostream 并将数据写入其中。

是否有可能以某种方式将库 A 返回的字符串引用包装在 ostream 中,以便库 B 可以写入库 A 持有的字符串。

int main() {
  std::string& foo(library_a.get_string_reference());
  //wrap foo somehow in an ostream?
  library_b.write_to_ostream(wrapped_foo)
}

标签: c++c++11ostream

解决方案


推荐阅读