I went through multiple questions on StackOverflow, to understand why extending the std::allocator is a bad idea. For instance:-
Why not to inherit from std::allocator mentions that std::allocator doesn't provide a virtual destructor but what exactly is the impact of this?
Also Why are allocators to containers passed as template parameters? mentions that until the class takes a template it won't let the class take different types of allocators.
Is it not possible to extend and modify the behavior of std::allocator to allocate memory from shared memory, or file-backed memory? What parts of std::allocator can't be modified even after extending the class and why not?
There are certain design decisions we need to make before we proceed further, so wanted to understand the reason why people prefer their own allocators instead of extending and modifying the behavior of default allocator.