(एकल-पिरोया हुआ वातावरण मानकर)
इस मानदंड को पूरा करने वाला एक कार्य है:
bool MyClass::is_initialized = false;
void MyClass::lazy_initialize()
{
if (!is_initialized)
{
initialize(); //Should not be called multiple times
is_initialized = true;
}
}
संक्षेप में, मैं इस समारोह को कई बार फोन कर सकते हैं और यह आरंभ बारे में चिंता मत MyClass
कई बार
एक ऐसा कार्य जो इस कसौटी को पूरा नहीं करता है:
Foo* MyClass::ptr = NULL;
void initialize()
{
ptr = new Foo();
}
initialize()
कई बार कॉल करने पर मेमोरी लीक हो जाएगी
प्रेरणा
इस व्यवहार का वर्णन करने के लिए एक ही संक्षिप्त शब्द रखना अच्छा होगा ताकि इस मानदंड को पूरा करने के लिए अपेक्षित कार्यों की विधिवत टिप्पणी की जा सके (विशेष रूप से उपयोगी जब इंटरफ़ेस कार्यों का वर्णन किया जाता है जो अति-अपेक्षित हैं)