文章目录
前言
随着时间的前进,未知的一切都会让人感觉每时每刻都在落伍。如逆水行舟不进则退。如这个新的编译警告选项。在8.5 的版本还没有,目前最新的13.0 肯定是有。
这个选项的功用是非常好的,有用。如果可以早早的用上这个功能,也行可以避免很多此类问题的发生。
介绍-Wdangling-pointer
这里怎么翻译这个指针:或许可以翻译为悬停指针,悬挂的过时指针,过时指针。
可以携带参数n如:-Wdangling-pointer=n
这个警告选项的作用是:如果指针指向了一个栈上的自变量或者对象(automtic storage),而这个对象的生命已经结束时,就会上报这个警告。包括嵌套块里声明的局部变量,复合字符临时变量,或者其他一些未命名的临时对象。 另外还有,将这样的变量、对象地址给转义指针,也会报这样的警告。所有的优化级别都会带有这个警告选项,但是需要注意的是,上报警告的内容相对于没有优化选项的有稍许的区别。
-Wdangling-pointer=1
在级别 1 时,警告仅诊断悬空指针的无条件使用。例如: