首先需要更正一个编码的风格,判断BOOL型的变量采用 if(a)的格式,指针为if(NULL == a),整型值if(num == a).
其次对于你对if(pis)是错误的,在ifstream is这句话给is做申明的时候,编译器已经为其设置了一个初始值,那么就是说这个值肯定存在,而且值不确定,同时也是有一块对应的地址的,所以对ifstream *pis = is来说,pis指针肯定指向了一块有效的地址。
最后,和第二条所说的一样,即使你没有初始化is,编译器也会为它赋初始值。
PS:你问的“为什么可以用这种方式检查if语句?”不明白你具体的意思,所以不方便解答,呵呵
温馨提示:答案为网友推荐,仅供参考