这个问题不是关于套接字的,而是更多的C ++问题。但是,我有一个可以通过套接字发送和接收数据的类。我想用流语法发送数据,所以我创建了<<我班上的操作员:
virtual const BaseSocket& operator << (const std::string &oMessage);
现在在我的代码中我可以使用它并且它可以工作:
socket << "data";
我现在面临的问题是我每行只能放一个元素而不能使用:
socket << "data1" << "data2";
我知道当我想要流式传输其他数据类型时,我必须重载运算符,比如int,float等,但我找不到为什么我不能链接变量。< / p>
答案 0 :(得分:3)
您应该从const
const BaseSocket&
BaseSocket& operator << (const std::string &oMessage);
const是阻止你链接的东西,因为运算符<<
本身是非const的,所以它不能在从前一个操作符调用返回的const变量上调用