कृपया ध्यान दें कि यह केवल एक विचार प्रयोग है।
मुझे पता है कि वैश्विक (स्थैतिक) युद्ध खराब हैं और किसी भी मामले में तोड़ने का दायरा एक बुरा विचार है।क्या स्थानीय टाइप किए गए निरंतर को * बाहरी * से घोषित दिनचर्या में बदलने का कोई तरीका है?
निम्नलिखित कोड पर विचार करें:
function IsItChanged: integer;
const
CanIBeChanged: integer = 0;
begin
Result:= CanIBeChanged;
end;
लिखने योग्य स्थिरांक सक्षम कर दिए गए मान लिया जाये कि, मैं कैसे समारोह में यह घोषणा की है के दायरे से बाहर से CanIBeChanged
का मूल्य बदल सकते हैं?
पीएस नहीं, मैं इस कोड का कभी भी उपयोग करने का इरादा नहीं रखता हूं, यह सिर्फ ब्याज से एक प्रश्न है।
स्थानीय लेखन योग्य कॉन्स का जीवनकाल क्या है? जब तक कोड विधि को छोड़ देता है (सामान्य स्थानीय चर की तरह), या इसे साझा किया जाता है? पहले मामले में आपके कोड में अपरिभाषित व्यवहार है। – CodesInChaos
@CodeInChaos यह वास्तव में विचित्र निर्माण है। वे वास्तव में वैश्विक चर हैं। स्थैतिक भंडारण के साथ सी स्थानीय लोगों के बराबर। –
मैं उस तरह कुछ याद कर रहा था, लेकिन अब और यकीन नहीं था। – CodesInChaos