स्मार्ट पॉइंटर्स सरणी कैसे संभालते हैं? उदाहरण के लिए,स्मार्ट पॉइंटर्स और सरणी
void function(void)
{
std::unique_ptr<int> my_array(new int[5]);
}
my_array
दायरे से बाहर चला जाता है जब और विलुप्त हो जाता है, पूरे पूर्णांक सरणी फिर से दावा किया जाता है? सरणी का केवल पहला तत्व पुनः दावा किया गया है? या क्या कुछ और चल रहा है (जैसे अपरिभाषित व्यवहार)?
ट्रिविया: यह वह जगह है जहां इस वाक्यविन्यास का आविष्कार हुआ: http://groups.google.com/group/comp.lang.c++/browse_thread/thread/469fcc136b8f2d42/59c0491245293db7?q=%3Cchar%5B%5D%3E+ समूह: comp.lang.c% 2 बी% 2 बी + लेखक: हिनेंट –
@ हावर्ड हिनंट: ट्रिविया के लिए धन्यवाद, मुझे इसके बारे में पता नहीं था। आप ही वह हैं जिसने इसका आविष्कार किया, 2001 में वापस! यह आपको यहां पर रखने के लिए बहुत अच्छा है :) –
यह एकमात्र तरीका भी है जो किसी भी समझ में आता है, 'typedef int (three_ints) [3] पर विचार करें; टेम्पलेट शून्य कार्य (शून्य) {unique_ptr पी (नया टी); } फ़ंक्शन (); ' –