यदि मैं किसी विधि से संदर्भ लौटाता हूं तो मुझे बेहद उत्सुकता हो सकती है जिससे स्मृति रिसाव हो सकता है। नीचे उदाहरण की स्थिति है।क्या विधियां संदर्भ या संदर्भ वापस कर सकते हैं मेमोरी लीक का कारण बन सकता है?
class example
{
public:
vector<int> & get_vect()
{
return vect;
}
int & get_num()
{
return num;
}
private:
vector<int> vect;
int num;
};
void test_run(example & input)
{
int & test_val = input.get_num();
vector<int> & test_vect = input.get_vect();
}
int main()
{
example one;
test_run(one);
return 0;
}
मेरा प्रश्न जब test_val
और test_vect
ढेर जब test_run
रास्ते से भी निकल जाते है। क्या test_vect
या test_val
हटा दिया गया है जिससे वस्तु को दूषित हो सकता है?
गतिशील स्मृति आवंटन शामिल होने पर एक स्मृति रिसाव केवल तब ही हो सकता है। – Angew