我的朋友有一些问题.假设,我们有一个实现数据库连接的类,如下所示:
class DB
{
void Connect();
void Disconnect();
// ...
~DB();
};
Run Code Online (Sandbox Code Playgroud)
在我看来,析构函数应该是minimalistic的,这意味着析构函数不应该在建立连接时调用Disconnect方法.我认为,这应该通过单独的方法完成(本例中为disconnect()).我纠正了,还是我的朋友?
PS.社区维基?
您的析构函数应该足以清理在对象生存期内获取的所有资源.这可能包括也可能不包括结束连接.否则,如果抛出异常,谁将进行清理?