Why is a c++ reference considered safer than a pointer?

后端 未结 9 1564
我寻月下人不归
我寻月下人不归 2020-12-03 18:23

When the c++ compiler generates very similar assembler code for a reference and pointer, why is using references preferred (and considered safer) compared to pointers?

9条回答
  •  失恋的感觉
    2020-12-03 19:00

    Well the answer you point out answer that. From the "safer" point of view I think that basically it is hard to write code like :

    int* i;
    // ...
    cout << *i << endl; // segfault
    

    As a reference is always initialized, and

    MyObject* po = new MyObject(foo);
    // ...
    delete po;
    // ...
    po->doSomething(); // segfault
    

    But as said in the question you mention, that's not only because they are safer that references are used ...

    my2c

提交回复
热议问题