std::shared_future vs std::future

Which statements about std::shared_future are true?

A

It has lower overhead than std::future

B

It requires std::memory_order_seq_cst for correctness

C

Multiple threads can call get() on the same shared_future

D

It can be created from a std::future using .share()

E

get() can be called multiple times on the same object