August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
如果一个类的成员拥有一个析构函数,则在包含这个成员的对象销毁时这个析构函数会被调用。例如:
当我们退出函数some_fct()时,fred将会离开其作用域,因此fred会被销毁;也就是说,name和addresses的析构函数会被调用。显然,只有这样析构函数才是有用的,它有时被表达为“编译器为Customer生成一个析构函数,它调用成员的析构函数”。这种通常的实现方式正是析构函数调用应提供的显然且必要的保证。
成员和基类的析构函数被派生类的析构函数(无论是用户定义的或是编译器生成的)隐式调用。基本上,所有规则可总结为一句话:“当对象被销毁时,析构函数被调用(离开作用域、被delete释放等情况下)。”
Read now
Unlock full access