Wie kann std :: unique_ptr keinen Overhead für die Größe haben?

Wenn die Größe einer leeren Klasse nicht 0 sein kann, welche Magie macht std :: tuple, sodass die Größe von unique_ptr 8 in einer 64-Bit-Maschine zurückgibt?

In unique_ptr ist das Mitglied definiert als:

  typedef std::tuple<typename _Pointer::type, _Dp>  __tuple_type;                 
  __tuple_type  _M_t;

Wobei _Dp die Deleter-Klasse ist.

Compiler ist gcc Version 4.7.1 (Debian 4.7.1-7)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage