【发布时间】:2014-11-01 13:09:54
【问题描述】:
如果一个变量是在栈上创建的,它会在创建它的函数退出时被删除。因此,可能无法从函数返回指向此类变量的指针,也不能将其传递给另一个线程(除非您确定其他线程在创建它的函数退出后不会使用它。)
将指向堆栈上某个位置的指针作为参数传递给另一个函数是否合法,如果它是另一个函数的 api 协定的一部分,它将在同一个线程中使用该指针执行所有操作?
This 不太一样;指针在原函数结束后被使用。
【问题讨论】:
-
您应该尝试一次提出一个明确的问题。
-
正如 juancho 所说,stackoverflow 部分是一个完全不同的问题。关注自动变量和指针位的生命周期。
-
相应编辑。 [en.wikipedia.org/wiki/Stack_overflow](Wikipedia) 建议堆栈溢出可能会导致段错误,但不清楚是在所有情况下都是如此,还是仅在无限递归的情况下如此。