35个改善编程与设计的有效方法

35个改善编程与设计的有效方法

基础议题

条款1:仔细区别pointers和references

  • reference:
    • 一定要代表某个对象,所以必须有初值。
    • 比pointers可能更有效率,因为在使用reference之前不需要测试其有效性。
    • 初始化后不可更改
    • 不存在reference的reference,因为其只作用于对象。
  • pointers:
    • 可以初值为null。
    • 使用前判断它是否为null
    • 可以重新赋值,指向另一个对象
结论

当你知道你需要指向某个东西,而且绝不会改变指向其他东西,或是当你实现一个操作符而其语法需求无法有pointers达成,就应该选择references。其他情况,请使用pointers。