官方解释,这类大小增加是因为第一个类别中的vptr需要8位元组对齐,进而导致编译器对第二个类别进行填充。虚拟函式影响类别记忆体占用,在过去是难以观察的细节,而Visual Studio 2022更新功能,使开发者不需要编写额外的程式码计算,只要透过简单的滑鼠操作,即可查看隐藏的记忆体占用资讯。而清晰了解记忆体占用量和对齐方式,有助于开发者最佳化程式的效能和记忆体使用。
此外,Visual Studio 2022还加入了记忆体布局检视图,这项功能呈现类别、结构和联合的记忆体排列方式,对于最佳化记忆体布局工作特别有用。开发者现在可以更直觉地查看类别中所有资料成员的填充、偏移和大小。
开发者只要将滑鼠游标停留在类别名称上,无论是宣告还是定义,都会出现一个快速资讯工具提示,除了大小和对齐,也会出现记忆体布局连结,点击连结开发者即可存取互动式记忆体布局检视图,开发者可方便地观看单个资料成员具体偏移和大小。
而且该功能还提供COM类型的v-table记忆体布局检视图,协助开发者理解COM物件的基本结构和组织。微软提到,这将有助于C++开发者提高程式效率和理解度,更容易管理记忆体和处理资料结构。