Middle
რა არის განსხვავება ჭკვიანი მაჩვენებლის და ჩვეულებრივი მაჩვენებლის შორის C++-ში?
sobes.tech AI
პასუხი AI-სგან
C++-да සාමාන්ය දර්ශකය යනු මතකයේ ලිපිනයක් පමණක් වන අතර එය වස්තුවේ ජීවිත කාලය කළමනාකරණය නොකරයි. වැඩසටහනකරු මතක වෙන් කිරීම සහ නිදහස් කිරීම සඳහා වගකියෙයි, එය මතක අහිමිවීම් හෝ දෙවරක් මකීමේ දෝෂ වලට හේතු විය හැක.
ඥානවත් දර්ශකය යනු ස්වයංක්රීයව වස්තුවේ ජීවිත කාලය කළමනාකරණය කරන පන්තියකි. උදාහරණයක් ලෙස, std::unique_ptr වස්තුව අයිතිකරගෙන එය මකා දමයි, දර්ශකය පරාසයෙන් පිටත යන විට. std::shared_ptr යොමු සංඛ්යානය කරයි සහ අවසන් දර්ශකය විනාශ වන විට වස්තුව මකයි.
std::unique_ptr සමඟ උදාහරණයක්:
#include <memory>
void උදාහරණය() {
std::unique_ptr<int> ptr = std::make_unique<int>(42);
// ptr ක්රියාවලියෙන් පිටවීමේදී ස්වයංක්රීයව වස්තුව මකයි
}
මෙවැනි, ඥානවත් දර්ශකයන් මතක අහිමිවීම් සහ සම්පත් කළමනාකරණ දෝෂ වලින් වැළකී සිටීමට උදව් කරයි, කේතය ආරක්ෂිත හා සරල කරයි.