void *function()
ฉันสับสนเกี่ยวกับความหมายของ
มันเป็นตัวชี้ไปยังฟังก์ชั่นหรือฟังก์ชั่นกลับมาvoid*
? ฉันมักจะใช้มันในโครงสร้างข้อมูลเป็นฟังก์ชั่นซ้ำเรียกคืนตัวชี้ แต่เมื่อฉันเห็นรหัสใน multithreading ( pthread
) มีการประกาศฟังก์ชั่นเดียวกัน ตอนนี้ฉันสับสนว่าอะไรคือความแตกต่างระหว่างพวกเขา
void *function()
เป็นฟังก์ชั่นการใช้จำนวนข้อของการขัดแย้งและกลับมาคุ้มค่าว่าเมื่อ dereferenced เป็นของประเภทโมฆะ ใน C ++ void* function()
เป็นฟังก์ชั่นการขัดแย้งใดและกลับมาเป็นค่าชี้ไปถือเป็นโมฆะ คุณควรตัดสินใจด้วยภาษาที่คุณต้องการ
void *
ได้ หลังจากที่ทุกคนแม้ว่าคุณจะทำได้สิ่งที่คุณจะทำอย่างไรกับvoid
?
void*function();
ถูกต้องตามหลักไวยากรณ์ เช่นสำหรับ Python พวกเขาเลือกการตัดสินใจที่แตกต่าง - รูปแบบเป็นส่วนหนึ่งของไวยากรณ์ IMHO ทั้งสองมีข้อดีและข้อเสีย