A move constructor of class T is a non-template constructor whose first parameter is T&&, const T&&, volatile T&&, or const volatile T&&, and either there are no other parameters, or the rest of the parameters all have default values.
Source: https://en.cppreference.com/w/cpp/language/move_constructor
So const T&& is actually a thing. But doesn't the const defeat the purpose of &&? What are the practical uses for const T&&?