Select all the benefits of using make_shared.
a) Allows for the programmer to use auto and hence reduce typing
b) Ensures thread-safe initialization
c) Allows for custom deleters
d) Increases memory overhead