当前位置:  开发笔记 > 编程语言 > 正文

方法返回值的地址

如何解决《方法返回值的地址》经验,为你挑选了0个好方法。

我有一个返回值的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值

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有