I was reading the manual for std::string::data() on cppreference.com and noticed that in C++20 the definition of the method is going to change to:
constexpr CharT* data() noexcept;
How is that possible that the address of a dynamically allocated memory is known at compile time?