我正在使用一个打算像这样使用的类:
Output() << "Hello.\n";
在其中operator<<
我明确使用std::cout
,但我希望有一个静态类成员解析为 `std::cout´ 所以我可以做这样的事情:
copy(some_string_set.begin(), some_string_set.end(), ostream_iterator<string>(Output::m_stream, ", "));
或类似的东西(在我修复静态数据成员之前,我无法修复底线。
我什至尝试过auto
,但 GCC 抛出了一个
错误:“std::cout”不能出现在常量表达式中
对我。我怎样才能做我想做的事?(重点是不必std::cout
全部使用我的代码,而是让所有输出都通过 Output 类)