Я побежал следующий кодКакова логика этих деструктор вызывает
#include <iostream>
using namespace std;
class Count
{
private:
int count;
public:
//Constructor
Count():count(0) { cout << "Constructor called" << endl; }
//Destructor
~Count() { cout << "Destructor called" << endl; }
//Display the value.
Count display()
{
cout << "The value of count is " << count << endl;
return *this;
}
};
int main()
{
Count C;
C.display();
}
Результат: -
Constructor called
The value of count is 0
Destructor called
Destructor called
В приведенном выше случае, деструктор вызывается дважды, один для разрушения " этот "объект и один для возврата из основного.
Является ли мое наблюдение правильным?
Может ли кто-нибудь объяснить мне также временный объект, созданный в этом процессе, например, почему он создан, если создан?
Помог ли вам любой ответ? –