我有一个返回值的get方法:
int Foo::getValue() const { return value_; }
我正在使用以下代码将此值写入二进制文件:
void Bar::write(const Foo& foo) { /* some code... */ file_.write(reinterpret_cast(&foo.getValue()), sizeof(int)); }
似乎一切都运作良好.但我不确定那&foo.getValue()的事情.它总是返回getValue()返回值的地址还是有任何陷阱?
EDIT1:我不想为此创建临时var.
编辑2 :是的,它编译并正常工作.
EDIT3: write是一个ostream :: write
EDIT4:使用/ Wall和/ Za它将无法编译:错误C2102:'&'需要l值