C++ 属性: no_unique_address (C++20 起)

来自cppreference.com
< cpp‎ | language‎ | attributes

指示此数据成员不需要有不同于其类的所有非静态数据成员的地址。

[编辑] 语法

[[no_unique_address]]

[编辑] 解释

应用到非位域非静态数据成员的声明中,正在声明的名称。

指示此数据成员不需要有不同于其类的所有非静态数据成员的地址。这表示若该成员拥有空类型(例如无状态分配器),则编译器可将它优化为不占空间,正如同假如它是空基类

[编辑] 示例