我正在实现输出流运算符<<重载,我需要检查输出流参数os是std :: cout,如果没有,抛出std :: runtime_error - 我该如何检查?
friend std::ostream& operator<<(std::ostream& os, const Software &soft)
答案 0 :(得分:8)
我怀疑会导致你认为你必须这样做的那种逻辑,但如果你真的想要...
if (&os != &std::cout) {
throw std::runtime_error(/* ... */);
}