最佳答案
                                        
                                                                        
                                这段代码是有效的(和已定义的行为)吗?
int &nullReference = *(int*)0;
G + + 和 clang + + 在没有任何警告的情况下编译它,即使使用 -Wall、 -Wextra、 -std=c++98、 -pedantic、 -Weffc++..。
当然,引用实际上不是 null,因为它不能被访问(这意味着取消对 null 指针的引用) ,但是我们可以通过检查它的地址来检查它是否为 null:
if( & nullReference == 0 ) // null reference
 
                                
                             
                                
                             
                                
                            