C++ cho phép quá tải operator new
- cả toàn cầu và mỗi lớp - thông thường operator new
, operator new[]
được sử dụng với tuyên bố new[]
và vị trí operator new
riêng biệt.Làm thế nào tôi có thể quá tải một cách hợp lý toán tử vị trí mới?
Hai phần trước đây trong số ba giá trị này thường bị quá tải để sử dụng trình phân bổ tùy chỉnh và thêm lần truy tìm. Nhưng vị trí operator new
có vẻ khá đơn giản - nó thực sự không có gì bên trong. Ví dụ: trong Visual C++, việc triển khai mặc định chỉ trả về địa chỉ được chuyển vào cuộc gọi:
//from new.h
inline void* operator new(size_t, void* where)
{
return where;
}
Còn điều gì khác? Tại sao và làm cách nào tôi có thể quá tải vị trí một cách hợp lý operator new
?
Bạn có yêu cầu sử dụng quá tải toán tử mới không? Đó là một câu hỏi khá rộng. –
@Alexander Rafferty Tôi hỏi cụ thể về cách sử dụng vị trí quá tải mới. Tôi không thể thấy bất kỳ mục đích nào trong trường hợp cụ thể này. – sharptooth
+1 để truy cập tệp tiêu đề. – Chubsdad