यह सबसे अधिक संभावना है (या इसका एक प्रकार):
void print_fibs()
{
}
int ignore = (print_fibs(), 0);
int main() {}
इस कोड में, फ़ंक्शन ignoreमें प्रवेश करने से पहले वैश्विक चर को आरंभीकृत किया जाना है main()। अब वैश्विक को इनिशियलाइज़ करने के लिए, print_fibs()जहाँ आप कुछ भी कर सकते हैं, निष्पादित करने की आवश्यकता है - इस मामले में, संख्याओं की गणना करें और उन्हें प्रिंट करें! इसी तरह की एक चीज़ जो मैंने निम्नलिखित प्रश्न में दिखाई है (जो मैंने बहुत पहले पूछी थी):
ध्यान दें कि इस तरह का कोड सुरक्षित नहीं है और इसे सामान्य रूप से बचना चाहिए। उदाहरण के लिए, std::coutऑब्जेक्ट print_fibs()निष्पादित होने पर आरंभीकृत नहीं किया जा सकता है, यदि ऐसा है तो std::coutफ़ंक्शन में क्या होगा ? हालांकि, अगर अन्य परिस्थितियों में, यह इस तरह के इनिशियलाइज़ेशन ऑर्डर पर निर्भर नहीं करता है, तो इनिशियलाइज़ेशन फ़ंक्शंस (जो C और C ++ में एक आम बात है) को कॉल करना सुरक्षित है।