【发布时间】:2020-11-08 10:36:12
【问题描述】:
所以我目前正在制作我自己的 std::vector 版本以在内核模式下使用。但是我遇到了一个问题:我不确定如何确定如何正确破坏给定的元素。例如,你可以用整数填充一个数组,而你不需要做任何事情来破坏它。但是对于一个类,您需要使用new(address) Class(); 在特定位置初始化它,并像Class->~Class() 一样手动调用它的析构函数。
显然,您可以通过使用 type_traits 中的函数来检查给定类型是否具有析构函数,但这对我来说根本不可用,因为它没有随 WDK 一起提供。
所以我的问题是,如何确定如何销毁给定类型的对象?
【问题讨论】:
标签: c++ constructor kernel destructor