剑指offer:0-9
1.赋值运算符函数
返回值类型是否为引用:考虑连续赋值--
str1=str2=str3;
return *this;
参数类型是否为引用:考虑代码效率;
const Object& name;
是否提前释放实例内存:考虑内存泄漏;
delete []data;
当前实例与传入参数是否为同一实例:考虑内存泄漏;
if(this==&name):
2.实现单例模式
- 单线程
构造函数私有化;
private static Singleton instance = null;
- 多线程:
同步锁
加锁之前判定实例是否已创建
静态构造函数初始化静态实例对象
priavte static Singleton instance = new Singleton()
;嵌套类