C指针不慎操作具很强的危险性,使用C++之后,习惯将指针改为使用引用,曾经一度以为引用可以避开C指针的危险性。结果,今天调试程序时,意外发现,指针和引用只是在代码文本中的表示形式不同而已,实际的使用几乎完全一样。虽然无法查看到内存中引用值的具体情况,但是在引用所代表的那个对象被释放之后,引用依然可以访问其成员或者是内存中的地址。
1 int* iPtr = new(10);
2 int& ref = *iPtr;
3 delete iPtr;
4
5 // debug下程序依然可以运行
6 ref = 5;
这小段代码,虽然不起眼,但是对于程序来说,是很大的隐患。
原文链接: https://www.cnblogs.com/BlueWinters/p/3587815.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/122431
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!