小编EKP*_*EKP的帖子

重载运算符<<在谷歌c ++风格

我尝试为我的类重载operator <<,以便在我执行std :: cout << obj时打印成员;

我知道这样做的方法是

std::ostream& operator<<(std::ostream& os, const T& obj)
{
  // write obj to stream

  return os;
}
Run Code Online (Sandbox Code Playgroud)

运算符重载的基本规则和习惯用法是什么?

但是,我尝试使我的代码符合Google C++风格指南 https://google.github.io/styleguide/cppguide.html#Reference_Arguments

它表示不允许传递没有const的引用,除非按惯例需要它,例如swap().这个重载运算符<<与swap()在同一类别中吗?或者有办法做某事

std::ostream& operator<<(std::ostream* os, const T& obj)
                                     ^
Run Code Online (Sandbox Code Playgroud)

?或者不以非const引用作为输入的东西.

如果是这样,请教我如何做到这一点.谢谢.

c++

8
推荐指数
1
解决办法
183
查看次数

标签 统计

c++ ×1