Some time ago, I pointed out the GetCurrentThreadStackLimits
function which lets you determine whether a pointer points into the stack.
Note, however, that if the local variable is captured by a coroutine, The introduction of coroutines into the C++ language means that what looks like a local variable may end up being hoisted into a heap-allocated object representing the coroutine itself (like, say, a std::future
).
Something to bear in mind if you’re going to be making decisions based on whether a variable is on the stack.
0 comments