【发布时间】:2014-07-12 09:40:05
【问题描述】:
我有以下代码:
ostream.write(reinterpret_cast<const char*>(&bone.parent_index), sizeof(bone.parent_index));
现在有很多代码,这些代码应该相当简单明了。我想知道是否有一种方法可以用更少的代码编写功能相同的东西;最好有这样的界面:
ostream.write(bone.parent_index);
我愿意接受 C++11 标准库或 boost 中的任何解决方案。
【问题讨论】:
-
但是,但是……这只是 1 行代码!好吧,你总是可以写一个包装函数...
-
它总是可以更小;)如果有一个我可以在受信任的库中使用的包装器,我宁愿不滚动我自己的包装器。
-
您可以花费大量时间来缩小一行,或者您可以编写一个包装函数 (@SingerOfTheFall) 并返回为您的程序增加价值。我用过的所有语言都遇到过这个问题,但情况总是不同。
-
我认为,只要内存模型在媒体之间发生变化,二进制副本就会很危险,而且不按值存储所有成员的结构也很少见。如果您只有平面数据并且没有跨越系统边界,那么我在下面的回答可能会有所帮助。