SFML:如何重载数据包运算符>>用std :: vector?

时间:2018-04-01 16:45:22

标签: vector udp sfml packet

我正在编写一个基于UDP的游戏,我需要通知每个连接到游戏的新玩家关于每个连接玩家的位置和其他数据。如果我可以重载<<和>>运营商发送包含存储在服务器上的所有玩家数据的数据包。 我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:0)

这就是你的意思吗?

template<typename T>
sf::Packet& operator<<(sf::Packet& packet, std::vector<T>& vec)
{
    return packet << vec.at(0) << vec.at(1)  << vec.at(2);
}

template<typename T>
sf::Packet& operator>>(sf::Packet& packet, std::vector<T>& vec)
{
    return packet >> vec.at(0)  >> vec.at(1)  >> vec.at(2);
}