मैं उस बिंदु पर पहुंचा जहां मुझे गायन और हस्ताक्षरित मानों की तुलना करने की आवश्यकता है। इस स्थिति से पूरी तरह से बचने के लिए अब तक मैंने कोड बेस को हमेशा संशोधित किया है, लेकिन अब मैं ऐसा नहीं कर सकता।हस्ताक्षरित और हस्ताक्षरित मूल्यों की तुलना को उचित रूप से संभालना
तो गायन और हस्ताक्षरित तुलना को संभालने का वास्तव में उचित तरीका क्या है? यह मिश्रित सी/सी ++ कोड बेस है, इसलिए मेरा प्रश्न दोनों भाषाओं पर लागू होता है।
मैं अनुरोधित मूल्य (हस्ताक्षरित) के खिलाफ संसाधन (हस्ताक्षरित) की जांच कर रहा हूं।
if (requested > resource.max) return Never;
if (requested > resource.free - resource.assigned) return NotNow;
return Now;
मैं इस (स्थानापन्न सी ++ जहां लागू वेरिएंट) की तरह कुछ के बारे में सोच रहा था:
if (requested > (unsigned)INT_MAX) bail_out(); // assert,abort,throw,return....
if ((signed)requested > resource.max) return Never;
if ((signed)requested > resource.free - resource.assigned) return NotNow;
return Now;
मैं इस सही ढंग से आ रहा हूँ, या वहाँ कुछ बेहतर तरीका है?
आपकी संसाधन संख्या पहली जगह क्यों हस्ताक्षरित है? –
'resource.free
या क्यों हस्ताक्षरित अनुरोध किया जाता है क्योंकि यह वह मूल्य है जिसे ओपी हस्ताक्षर के रूप में व्यवहार करना चाहता है। वैसे भी यह दृष्टिकोण मेरे लिए ठीक लगता है। इस तरह की चीजें इतनी थकाऊ है कि मैं बिना हस्ताक्षर किए गए प्रकारों से पूरी तरह से बचने के लिए प्रवृत्त हूं। – jahhaj