- 博客(10)
- 收藏
- 关注
原创 维护一个对象只能通过new来创建,且要实现对象能够自动销毁的单例代码实现及扩展。
1. 如果全局只需要一个实例对象,且要实现自动管理资源和释放。构造和析构都要私有,我们只需要调用getinstance 函数就可拿到这个实例。2.如果在Main中希望通过显示的New来创建对象且可以有多个对象被new,则必须将构造公有,析构私有。且必须实现成员函数destory来delete 对象,不然New出来的对象不会走析构代码。3.最后还要提供一些静态成员属性和方法来辅助实现。4.对于自动管理资源的单例对象 有什么好处呢?
2024-06-08 13:14:47 850
原创 面试题:函数的参数传引用的好处
最好是传引用,在下面代码中,复制构造函数A(A other)传入的参数是A的一个实例。因此如果允许复制构造函数传值,就会在复制构造函数内调用复制构造函数,就会形成永无休止的递归调用从而导致栈溢出。因此C++的标准不允许复制构造函数传值参数,在Visual Studio和GCC中,都将编译出错。1.使用引用传参,不会创建拷贝,可以提升效率并节省了空间,比如我们要传一个很大的结构体,用引用传参就省去了拷贝这个结构体的开销。2、在函数中对该变量进行修改,则参数返回后修改依然存在,与值传递不同;
2024-03-21 19:51:36 318 1
原创 printf,sprintf,snprintf VS vprintf,vsprintf,vsnprintf 对比 以及文件写入函数fprintf 和 vfprintf函数的用法
printf,sprintf,snprintf VS vprintf,vsprintf,vsnprintf 对比
2024-03-16 18:14:34 892
原创 判断回文链表的4种做法,递归,栈,反转链表,和把链表转为数组使用双指针进行判断数组回文 leetcode234题回文链表
使用递归最复杂,栈次之,时间空间均为0n,反转链表 ,反转前n/2个可得到时间0n空间01的做法。
2024-03-11 20:04:50 463 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人