极客不孤独 2021-06-19 12:09 采纳率: 0%
浏览 60

关于c/c++返回结构体的问题

看到很多关于返回结构体的讨论,分成两派,一派是说如如果这个结构体是局部变量则有风险,因为局部变量会在调用函数结束后被释放,释放后这个结构的成员就可以被任何人修改,也就是时通过返回结构获得的结构会被随时改变,风险不可小觑。

这个问题的关键,其实是要看返回的是个什么东西,如果返回的是那个局部结构体的首地址,上面这种说法是对的,但是如果返回的是整个结构的拷贝,那就不会有上文说的风险

不知道C/C++到底是怎么处理的,有权威说法吗?

  • 写回答

4条回答 默认 最新

  • 抬头见山 2021-06-19 12:21
    关注

    感觉没有好坏之分,看你使用的情况,如果只是当临时的,就局部

    需求决定你的使用,适合的才是好的

    评论

报告相同问题?