【发布时间】:2012-11-19 19:06:01
【问题描述】:
如果空类的大小不能为 0,std::tuple 有什么魔力,所以 unique_ptr 的 sizeof 在 64 位机器中返回 8?
在 unique_ptr 中,成员定义为:
typedef std::tuple<typename _Pointer::type, _Dp> __tuple_type;
__tuple_type _M_t;
其中 _Dp 是删除器类。
编译器为 gcc 版本 4.7.1 (Debian 4.7.1-7)
【问题讨论】:
-
这也可能与实现有关,因此您可能还需要包含您正在谈论的编译器。
-
我不确定
std::tuple与您的问题中的std::unique_ptr有何关系。你能澄清一下吗? -
@Cameron,_M_t 是 unique_ptr 上的基础类型。