01:指针与引用的区别
- 因为引用肯定会指向一个对象,在 C++里,引用应被初始化
- 指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。但是 引用则总是指向在初始化时被指定的对象,以后不能改变。
- 还有一种情况,就是当你重载某个操作符时,你应该使用引用。最普通的例子是操作符 []。这个操作符典型的用法是返回一个目标对象,其能被赋值。
- 总的来说,在以下情况下你应该使用指针,一是你考虑到存在不指向任何对象的可能(在 这种情况下,你能够设置指针为空),二是你需要能够在不同的时刻指向不同的对象(在这 种情况下,你能改变指针的指向)。如果总是指向一个对象并且一旦指向一个对象后就不会 改变指向,那么你应该使用引用。
02:尽量使用C++风格的类型转换
static_cast<>()
const_cast<>()
dynamic_cast<>()
reinterpret_cast<>()
03:不要对数组使用多态
27:要求或禁止在堆上产生对象
class Demo
{
public:
Demo(){};
void Destory(){}
private:
~Demo(){}
};
class Demo
{
public:
Demo(){}
~Demo(){}
private:
static void *operator new(size_t size);
static void operator delete(void *ptr);
};
class Demo
{
public:
static void *operator new(size_t size)
{
OnTheHead = true;
return ::new(size);
}
...
private:
static bool OnTheHead;
};
未完待续。。。。。