EBO空基类优化与no_unique_address
请解释EBO和[[no_unique_address]]的作用与区别。
回答
我还是少年
EBO:空类作为基类时大小可优化为0(sizeof空类=1但作为基类不占空间)。应用:std::vector的分配器、unique_ptr删除器。 [no_unique_address]:类似EBO但用于成员变量。可与相邻成员共享地址。
请解释EBO和[[no_unique_address]]的作用与区别。
EBO:空类作为基类时大小可优化为0(sizeof空类=1但作为基类不占空间)。应用:std::vector的分配器、unique_ptr删除器。 [no_unique_address]:类似EBO但用于成员变量。可与相邻成员共享地址。