新建class时:
考虑对象的拷贝语义(copyable?)
新建member function时:
如果不改变对象状态,在声明后面加const(和ruby的!开头的方法一样)
新建function parameter时:
如果是传值的,而且是复杂对象,尽量使用const ValueType &
尽量把值放在shared_ptr中,然后把只传递指针(和C#与JAVA一样)
新建virtual member function时:
是不是要把destructor也声明成virtual的?
是不是要声明成pure virtual的
实例化对象时:
如果能实例化在栈上最好
不能,把指针放入shared_ptr中
考虑对象的拷贝语义(copyable?)
新建member function时:
如果不改变对象状态,在声明后面加const(和ruby的!开头的方法一样)
新建function parameter时:
如果是传值的,而且是复杂对象,尽量使用const ValueType &
尽量把值放在shared_ptr中,然后把只传递指针(和C#与JAVA一样)
新建virtual member function时:
是不是要把destructor也声明成virtual的?
是不是要声明成pure virtual的
实例化对象时:
如果能实例化在栈上最好
不能,把指针放入shared_ptr中