零碎知识
本人实力不济,如有错误或建议及补充,请指出(评论或私信都行)
rt,本文就是一些懒得整理的(或少到整理不起来的)零碎知识(内含部分发癫内容)
目录
析构函数
为啥学呢,见
类的析构函数是类的一种特殊的成员函数,它会在每次删除所创建的对象时执行。
析构函数的名称与类的名称是完全相同的,只是在前面加了个波浪号(~)作为前缀,它不会返回任何值,也不能带有任何参数。析构函数有助于在跳出程序(比如关闭文件、释放内存等)前释放资源。
在此提供一个错误:
// 析构函数乱搞有时候真的很容易卡很久 #include<bits/stdc++.h> using namespace std; struct tmp{ int x; tmp(){} ~tmp(){while(x++);} }; template<class T=int> struct Name{ void *p; Name(){p=new T;} ~Name(){ ((T*)p)->x=1; printf("%d\n",6); delete (T*)p; } }; int main() { //... Name<tmp> ko[1000]; return 0; }
附:卡爆的构造函数
#include<bits/stdc++.h> using namespace std; struct tmp{ int x; tmp *p; tmp(){p=new tmp;x=rand();*(int*)p=rand()*rand();} ~tmp(){ ; } }; int main() { srand(time(0)); tmp ko; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步