हमारे कोड में एक POD (Plain Old Datastructure) संरचना शामिल है (यह एक बुनियादी c ++ संरचना है जिसमें अन्य संरचनाएं और POD चर हैं जिन्हें शुरुआत में आरंभ करने की आवश्यकता है।)
मैंने जो पढ़ा है , उसके आधार पर ऐसा लगता है कि:
myStruct = (MyStruct*)calloc(1, sizeof(MyStruct));
सभी मानों को शून्य से आरंभ करना चाहिए, जैसा कि निम्नानुसार है:
myStruct = new MyStruct();
हालांकि, जब दूसरे तरीके से संरचना को शुरू किया जाता है, तो Valgrind बाद में "सशर्त कूद या चाल की पुष्टि करता है, जो कि उन चरों का उपयोग किए जाने पर असमान मूल्य पर निर्भर करता है।" क्या मेरी समझ यहाँ त्रुटिपूर्ण है, या वाल्ग्रिंड झूठी सकारात्मकता फेंक रहा है?
new MyStruct()
C ++ 03 में किसी भी पेडिंग बाइट को सेट करने के लिए आवश्यक नहीं था। C ++ 0x में यह है। कोई भी पेडिंग बिट्स C ++ 0x में 0 पर सेट हो जाएगा।