C++ I / O的位移位运算符
示例
运算符<<和>>通常用作“写”和“读”运算符:
std::ostream重载<<到写变量基础流(例如:std::cout)
std::istream重载>>到从底层流读取到一个变量(例如:std::cin)
如果要在class/struct之外“正常”重载它们,则它们的执行方式类似,不同之处在于,指定参数的类型不同:
返回类型是您要从其重载(例如,std::ostream通过引用传递)的流,以允许链接(链式:)std::cout<<a<<b;。例:std::ostream&
lhs将与返回类型相同
rhs是您要允许从中进行重载的类型(即T),const&出于性能原因而不是传递值(rhs无论如何都不应更改)。范例:constVector&。
例:
//Overload std::ostream operator<< to allow output from Vector's
std::ostream& operator<<(std::ostream& lhs, const Vector& rhs)
{
lhs << "x: " <<rhs.x<< " y: " <<rhs.y<< " z: " <<rhs.z<< '\n';
return lhs;
}
Vector v = { 1, 2, 3};
//现在你可以做
std::cout << v;
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志