相关解答一:C++ 如何判断一个指针是否指向一个有效的对象
判断一个指针是否有效的办法是判断它是否为空指针:{//指针有效}else{//指针无效}然而这样的判断方法需要有一个前提保证的,即是前面所说的在声明指针时如果没有明确指向一个已知的变量,则将其置空,在不再需要使用这个指针时也将其置空。如果该指针指向一块动态分配的内存空间,在释放后也应该将其置空。在这个前提下,前面判断才是正确的
相关解答二:如何判断指针指向的位置是否有效
假如指针为P
p==NULL,无效
反之,有效
相关解答三:C++ 如何判断一个指针是否指向一个有效的对象
在声明了指针变量以后,就可以利用该指针变量来对所指向的对象进行操纵,当然在进行操纵前必须保证所操纵的对象是有效的,即该指针不为空,否则会引起“内存访问冲突”的错误,导致程序崩溃。判断一个指针是否有效的办法是判断它是否为空指针: if (pSomePoint != NULL) {//指针有效 } else {//指针无效 }然而这样的判断方法需要有一个前提保证的,即是前面所说的在声明指针时如果没有明确指向一个已知的变量,则将其置空,在不再需要使用这个指针时也将其置空。在这个前提下,前面判断才是正确的
相关解答四:C++ 如何判断一个指针是否指向一个有效的对象
在声明了指针变量以后,就可以利用该指针变量来对所指向的对象进行操纵,当然在进行操纵前必须保证所操纵的对象是有效的,即该指针不为空,否则会引起“内存访问冲突”的错误,导致程序崩溃。
判断一个指针是否有效的办法是判断它是否为空指针:
{//指针有效}else{//指针无效}然而这样的判断方法需要有一个前提保证的,即是前面所说的在声明指针时如果没有明确指向一个已知的变量,则将其置空,在不再需要使用这个指针时也将其置空。如果该指针指向一块动态分配的内存空间,在释放后也应该将其置空。在这个前提下,前面判断才是正确的
相关解答五:判断指针是否为空
C++之父的C++圣经《C++程序设计语言 特别版》中说:大家不要听某些人说用(p==NULL)或(p!=NULL)的格式,C++之父认为这样写是不好的,提倡直接写(p)或(!p)的形式。在win32开发中,if ( NULL == p )是极好的写法。但不要写成:if ( p == NULL )C++之父主要是反对使用“NULL”,因为在某些特殊的开发环境叫,“NULL”并非补定义成地址0,也可能是一个跟平台相关的,用于标记非法地址的其它地址。但按照C++标准的规定,只有等于0的地址可以被随便delete多次,因此如果是别的地址,那至少C++标准就给不了任何说法。至于是if(p == 0)和if(p !=不过,从代码的可扩展性上讲,写成后者可能好一些,因为如果有一天你决定改用一些原生指针的包装类(比如类似那种auto_ptr模板的)来代替直接操作原生指针,而那个类可能重载了operator!,后者可能让你直接利用这些设施林锐提倡if ( p == NULL)是从代码的可读性上考虑的,一看就是在判断一个指针,而不是判断一个bool值,它提倡只有bool值才使用if(p)或者if(!p)的形式。BS是从可移植方面考虑。if( p == NULL另外,不要写成if( p == NULL )这样的形式,应该写成:if ( NULL== p )。如果你误写成了if ( NULL = p
相关解答六:objective-c中,如何判断 IMP 指针是否是否有效?
可以通过assert语句:assert(imp!=null)
相关解答七:函数入口处,需要对指针类型入参判断有效性吗?如果不判断是否为空,可能会产生什么后果?谢谢
如果不判断的话,假如字符指针为空的话,操作它会引起非法内存操作,引致错误。
最好就在开头的地方判断,或者用断言assert宏, 例: assert(p != NULL) 如果断言为假的话
程序就中止,为真则继续运行。
相关解答八:为什么可以!p来判断一个指针是否有数据?
感觉楼主的理解是有问题的。
int *p;//通常来说,定义变量的时候不初始化,这边变量不会是NULL。也就是说此时的 p 是个野指针。
如果此事使用
if(!p){
cout
}
!p 等价于 p!=NULL
你会发现 error 字符串被输出了。
所以说楼主提出的第一个问题就有“问题”了。
!p 仅仅是用来判断 p 是否为空指针的,可以考虑为:
p != NULL 或者 p != 0
p != NULL 是从指针的角度考虑问题。
p != 0 则是从内存上考虑问题。特殊说明下,我写这句并不是因为NULL其实就是0。而是从内存的角度考虑,如果楼主能明白这句,才说明你基本上了解指针是个什么东西了。
回答下楼主的第二个问题:
C++和C中判断一个指针是否为空的方法是一样的。
相关解答九:C++怎么判断指针是否初始化
没有初始化的指针所指向的地址是不确定的,没办法判定,最好是对ip赋值,比如ip=NULL
相关解答十:怎么判断指针所指向对象是否合法
指向的不是NULL就算合法,这个具体要看他希望指向什么
百度搜索“爱华网”,专业资料,生活学习,尽在爱华网