我目前正在研究套接字程序.
是否可以像下面的用例一样使用流插入运算符?
__sin >> var; // similar to cin >> var;
Run Code Online (Sandbox Code Playgroud)
功能的主体是什么样的
var = remoteConsole.getline();
Run Code Online (Sandbox Code Playgroud)
所以当我使用我的远程控制台时,我可以使用该功能代替cin,在远程位置,我知道我可以使用类似的东西
cin.getLine() 要么 var= remoteConsole.cin()
但我试图避免这种情况.
我开始认为我试图做的事情虽然看起来很容易,但我可能不得不抛弃这个想法.我已经好好看了一下,但我尝试的一切都充满了编译错误.任何帮助,将不胜感激.谢谢
编辑
对于那些不清楚我在谈论什么的人(我试图清楚地解释)我试图用与cin相同的语法创建一个函数,而不是从控制台获取输入,从其他地方获取它,即一个插座.我在创建一个使用<<或>>而不是(和)的函数时遇到了麻烦.我希望语法与cin >>和cout <<相同.我的问题应该是,我从哪里开始这样做?
我找到了一种方法来做到这一点,但我不知道它会有多安全.我创建了两个结构,并在另一个中重载了<< in one和>>
struct out_t {
template<typename T>
out_t& operator << (T&& x) {
// Send x to the socket
// Use console for now
cout << x;
return *this;
}
};
out_t socout;
struct in_t {
template<typename T>
in_t& operator >> (T&& x) {
// get x from the socket and wait untill …Run Code Online (Sandbox Code Playgroud)