Có sử dụng hợp pháp void*trong C ++ không? Hay cái này được giới thiệu vì C đã có nó?
Chỉ để tóm tắt suy nghĩ của tôi:
Đầu vào : Nếu chúng ta muốn cho phép nhiều kiểu đầu vào, chúng ta có thể nạp chồng các hàm và phương thức, hoặc chúng ta có thể xác định một lớp cơ sở chung hoặc mẫu (cảm ơn vì đã đề cập đến vấn đề này trong câu trả lời). Trong cả hai trường hợp, mã được mô tả nhiều hơn và ít bị lỗi hơn (miễn là lớp cơ sở được triển khai một cách lành mạnh).
Đầu ra : Tôi không thể nghĩ ra bất kỳ tình huống nào mà tôi muốn nhận thay void*vì thứ gì đó có nguồn gốc từ một lớp cơ sở đã biết.
Chỉ để nói rõ ý tôi: Tôi không hỏi cụ thể liệu có trường hợp sử dụng cho void*, nhưng nếu có trường hợp thì đâu void*là lựa chọn tốt nhất hoặc duy nhất. Điều đó đã được trả lời hoàn hảo bởi một số người dưới đây.