我有一个包含共享指针的 classX
std::shared_ptr<T> sharedPTR;
我希望存储在共享指针中的指针对齐,所以在我拥有的每个构造函数中,我都像这样初始化 sharedPTR
this->sharedPTR.reset((T*) _mm_malloc(this->size, 64))
但这会导致不匹配的释放/删除,因为默认的析构函数调用
delete ptr
其中 ptr 是存储在智能指针中的指针
注意我知道我们可以使用这个
this->sharedPTR = std::shared_ptr<T>((T *) _mm_malloc(this->mSize, 64),
[](T* ptr){ _mm_free(ptr);});
但是我有这么多的构造函数,我每次都必须重复这个,它看起来不太好。