构造是保证类在使用的时候一些必须初始化的东西,一旦建立一个就会调用.
析构不一定要在全部程序退出时调用,当某个部分不需要了也会被系统自动.
这个类不一定只是简单的数据和过程,也许包含了整个大型库的过程.
类的作用就是只给出接口而不给出过程,单独使用接口就完成工作.
这个问题在多人合作的时候最突出,甚至是一个人开发的时候.
打个比方,你的程序需要描述图形引擎,物理引擎,结构引擎,也许这是个游戏.
所有的内容不可能同时加载到内存,也不可能同时运算.
每个引擎自己都会有释放,加载.有些定义是很危险的.比如员工在工作室里工作的时候放了很多工具,但在收拾的时候可能会因为步骤不对或者忘记而导致工作室出现问题.
一个类里含着另一个类,如同树形结构,一旦释放(人为或者系统,反正它暂时不需要了,占用空间很大).如果因为某个类里没有做好,或者考虑好释放的问题而引起总体崩溃.你只是使用了一个树根,就算你知道某个树叶会引起不正常,你也手动释放不了.
析构不一定在main里结束,它可能会随着类的生命期,或者智能释放,又或者人为的这么做了........被KILL掉