मुझे पता है कि प्लेसमेंट को नया बनाकर बनाए गए चर पर कॉल करना और फिर स्मृति के उस ब्लॉक तक पहुंचने से व्यवहार को अपरिभाषित किया गया है।प्लेसमेंट पर हटाएं
int* x = new int[2];
char* ch = new(x) char();
*ch = 't';
delete ch;
लेकिन स्मृति के ब्लॉक, ढेर के बजाय ढेर पर आवंटित किया जाता है और फिर हम उस चर पर हटाकर बाद में स्मृति का उपयोग कहते हैं, मैं एक अपवाद है कि ब्लॉक प्रकार अमान्य है मिलता है।
int x[2];
char* ch = new(x) char();
*ch = 't';
delete ch;
तो प्रश्नों की सूची है:
- एक ढेर पर हटाना के फोन की वजह से अपवाद है?
- क्या स्टैक पर मेमोरी ब्लॉक पर प्लेसमेंट नया उपयोग करना ठीक है?
- यदि हां तो मैं चरित्र सूचक को कैसे हटाऊंगा।
- प्लेसमेंट नया का उपयोग कर मेमोरी के एक ब्लॉक पर एकाधिक चर असाइन करना संभव है?
http://www.parashift.com/c++-faq/placement-new.html – Drax