转移到 setter 的参数

Shifting to the argument of a setter

你好,我想使用移位运算符 >> 将某些内容推入函数的参数中。为此,我可以执行以下操作,但是是否有更短更好的答案?

int foo;
packet >> foo;
setFoo(foo);

packet 中的 >> 运算符接受一个 int。 setFoo 也是常量,并且采用整数的常量引用。 packet 是来自 SFML 网络库的 sf::Packet 的实例。

sf::Packet 好像有个成员 class 叫 sf::getData()

您大概可以做 setFoo(*(int*)packet.getData()),但与您的代码相比,这不是 "better" 的答案。