是运营商<<由sf :: Packet定义使用sf :: Packet派生类的(* this)?

时间:2015-11-17 16:18:34

标签: c++ operator-overloading sfml

我有一个派生自sf :: Packet的类,它在其构造函数中传递一个引用iots类型的Integer。现在在构造函数中,我尝试将Integer添加到sf :: Packet的数据中,如下所示:

class Packet : public sf::Packet
{
public:
    Packet(sf::Int32 type)
    {
        m_Type = type;
        (*this) << m_Type;
    }

    sf::Int32 m_Type
}

但是,如果我尝试使用运算符&gt;&gt;在服务器端提取整数,则整数仍保持初始化状态。

现在我的问题:在这种情况下,是否可以将此运算符与 this 指针一起使用?

1 个答案:

答案 0 :(得分:2)

  

现在我的问题:在这种情况下,甚至可以将此运算符与this指针一起使用吗?

是的,没关系。请看下面的示例:http://coliru.stacked-crooked.com/a/b8f8d5b45ade0ad8

您应该可以自己使用调试器来验证这一点。

  

但是,如果我尝试使用运算符&gt;&gt;

在服务器端提取整数

错误可能发生在其他地方

相关问题