Concepts can also be used to constrain the return type of template functions, limiting variables to a Concept rather than a generic auto type, which can be considered at C++’s void * return type.
It may be useful to think in terms of data memory in C and C++ as being divided into three separate spaces: Static memory. This is where variables, which are defined outside of functions, are located.