प्रश्न मुझे ऐसे कार्यों को कहां से लाना चाहिए जो किसी वर्ग से संबंधित नहीं हैं, इस पर कुछ बहस छिड़ गई है कि क्या यह सी ++ में एक कक्षा में उपयोगिता कार्यों को संयोजित करने के लिए समझ में आता है या सिर्फ एक नामस्थान में मुफ्त कार्यों के रूप में मौजूद है।
मैं एक C # बैकग्राउंड से आता हूं, जहां बाद वाला विकल्प मौजूद नहीं है और इस तरह स्वाभाविक रूप से मेरे द्वारा लिखे गए C C ++ कोड में स्टैटिक क्लास का उपयोग करने की ओर रुझान है। उस सवाल पर सबसे ज्यादा वोट किए गए जवाब के साथ-साथ कई टिप्पणियों का कहना है कि मुक्त कार्यों को प्राथमिकता दी जानी है, यहां तक कि स्थिर कक्षाओं का सुझाव भी एक विरोधी पैटर्न था। C ++ में ऐसा क्यों है? कम से कम सतह पर, एक वर्ग पर स्थिर तरीके एक नाम स्थान में मुक्त कार्यों से अप्रभेद्य लगते हैं। इस प्रकार बाद के लिए वरीयता क्यों?
क्या चीजें अलग होंगी, अगर उपयोगिता कार्यों के संग्रह के लिए कुछ साझा डेटा की आवश्यकता होती है, जैसे कि एक कैश एक निजी स्थिर क्षेत्र में स्टोर कर सकता है?