【发布时间】:2014-12-31 13:58:33
【问题描述】:
我必须在函数中返回结构对象的指针,但我没有将它们存储为指针,所以我使用return &myStructObject; 来返回。它没有给出任何编译时错误,但我想要做的是正确的?
【问题讨论】:
-
你不应该返回局部变量的地址。
-
这取决于
myStructObject的生命周期。如果它是一个局部变量,当你从函数返回时它会被销毁并导致未定义的行为。 -
所讨论的结构对象是方法的本地对象吗?
-
myStructObject 不是局部变量,它是类的成员并由构造初始化。
标签: c++ pointers struct return ampersand