stl_construct.h
có chức năng sau:Ưu điểm con trỏ cast void * khi sử dụng mới
template<typename _T1, typename _T2>
inline void
_Construct(_T1* __p, const _T2& __value)
{
::new(static_cast<void*>(__p)) _T1(__value);
}
Tôi muốn biết lý do tại sao đúc __p
để void*
là cần thiết, là có bất kỳ lợi thế?
Không chắc chắn, nhưng nó khẳng định '__p' là một con trỏ có thể được sử dụng cho vị trí? –
Nguy cơ đọc mã thư viện nội bộ mà tôi gặp phải là lập trình viên (mới) bắt đầu * sử dụng * nội bộ trong mã riêng của họ (không tôi không nói đùa - tôi đã thấy điều này trong một số mã). – PaulMcKenzie