If the size of an empty class can't be 0, what magic is doing std::tuple so the sizeof of unique_ptr is returning 8 in a 64 bit machine?
In unique_ptr the member is defined as:
typedef std::tuple<typename _Pointer::type, _Dp> __tuple_type;
__tuple_type _M_t;
Where _Dp is the deleter class.
Compiler is gcc version 4.7.1 (Debian 4.7.1-7)
See Question&Answers more detail:os