मैं इस तरह, कुछ कोड है कि गतिशील रूप से एक नया std::thread
सी ++ 11 <thread>
हैडर से आवंटित करता है:शामिल होने के बाद std :: thread हटाएं?
std::thread *th = new thread(/* my args */);
कुछ समय बाद, मैं में शामिल होने के कॉल:
th->join();
के बाद से मैं गतिशील आवंटित धागा, क्या मुझे स्मृति मुक्त करने के लिए delete th;
पर कॉल करने की भी आवश्यकता है? अगर मैं करता हूं, तो मुझे अभी भी join()
पर कॉल करने की आवश्यकता है?
मुझे लगता है कि आप करते हैं। लेकिन जब आप C++ 11 का उपयोग कर रहे हैं तो shared_ptr का उपयोग क्यों न करें? –
सी ++ 11 से पहले सी ++ सीखा था और अभी भी सभी नई चीजों के बारे में सीख रहा हूं। Shared_ptr का उपयोग नहीं करना :) – bobroxsox
या बेहतर, 'std :: unique_ptr' का उपयोग करें, जब तक कि आपको वास्तव में साझा स्वामित्व की आवश्यकता न हो। एक अद्वितीय मालिक को बुनाई से यह भी स्पष्ट हो जाता है कि शामिल होने के लिए कौन जिम्मेदार है –