jz_ddk 2021-06-19 12:09 采纳率: 0%
浏览 55

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

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

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

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

  • 写回答

4条回答 默认 最新

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

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

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

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况