Tôi bối rối về ý nghĩa của void *function()
.
Nó là một con trỏ để chức năng hoặc một chức năng trở lại void*
? Tôi đã luôn sử dụng nó trên các cấu trúc dữ liệu như là một hàm đệ quy trả về một con trỏ, nhưng khi tôi thấy một mã trong đa luồng ( pthread
) có một khai báo hàm tương tự. Bây giờ tôi bối rối không biết sự khác biệt giữa chúng là gì.
void *function()
là một hàm lấy một số lượng đối số tùy ý và trả về một giá trị mà khi bị hủy đăng ký sẽ có kiểu void . Trong C ++, void* function()
là một hàm không có đối số và trả về giá trị của con trỏ tới chỗ trống . Bạn nên quyết định về ngôn ngữ mà bạn đang hỏi về.
void *
. Rốt cuộc, ngay cả khi bạn có thể, bạn sẽ làm gì với một void
?
void*function();
là đúng về mặt cú pháp. Ví dụ, đối với Python, họ đã chọn một quyết định khác - định dạng là một phần của cú pháp. IMHO, cả hai cách đều có pro và con.