सी में qsort का उपयोग करके हम एक तुलना फ़ंक्शन में पास करते हैं उदा।सी - एड्रेस ऑपरेटर "अनावश्यक" में फ़ंक्शन पॉइंटर्स
int cmp(const void*, const void*);
qsort की protoype एक पूर्णांक (*) (स्थिरांक शून्य *, स्थिरांक शून्य *) की उम्मीद है तो हम कहते हैं:
qsort(..., cmp);
लेकिन यह कॉल करने के लिए समान रूप से मान्य है:
qsort(..., &cmp);
और अगर हम सी ++ में स्थिर सदस्य-फ़ंक्शन में पास हुए तो हमें यही करना होगा। Kernighan & रिची (द्वितीय संस्करण, 5.11 "पॉइंटर्स टू फ़ंक्शंस" p119) कहता है कि "चूंकि [cmp] को फ़ंक्शन होने के लिए जाना जाता है, & ऑपरेटर आवश्यक नहीं है, उसी तरह से इसे किसी सरणी नाम से पहले आवश्यक नहीं है। "
क्या कोई और इस के साथ थोड़ा असहज महसूस करता है (esp। टाइप-सुरक्षा के संबंध में)?
यह सच है, लेकिन यह है कि कलाकारों का उपयोग कर मारना संकलक बताने के लिए कि "मुझ पर भरोसा है, मैं जानता हूँ कि मैं क्या कर रहा हूं, भले ही आप अन्यथा लगता है कि"। –