如何在C ++中检查输出流是否是std :: cout?

时间:2012-10-08 09:09:26

标签: c++ exception stream cout

我正在实现输出流运算符<<重载,我需要检查输出流参数os是std :: cout,如果没有,抛出std :: runtime_error - 我该如何检查?

   friend std::ostream& operator<<(std::ostream& os, const Software &soft)

1 个答案:

答案 0 :(得分:8)

我怀疑会导致你认为你必须这样做的那种逻辑,但如果你真的想要...

if (&os != &std::cout) {
    throw std::runtime_error(/* ... */);
}