I hear these words thrown around a lot ...
Yes, these are widely used coming from misconception and sticking to inappropriate terminologies, mixing hardware and OS concepts with the programming language implementation.
Do these concepts exist in C++?
As long you're referring to "heap" as dynamic storage duration, and "stack" as automatic storage duration, the c++ standard doesn't have any notion of these particular terms, but uses the other ones. So no.
Note there's no differentiation of automatic storage duration for local variables, global variables or parameters.
How's that actually done is considered an implementation detail, and in fact is dependent on the target CPU architecture and OS environment.
To complete the answer (that's why I said "As long you're referring to ..."):
The c++ standard library actually provides concepts for a std::stack and a heap.
But these refer to data structures, and aren't related to how memory allocation for any type instances is implemented.