Closed Mooophy closed 9 years ago
Xiao` :
2.23:给定指针p,你能知道它是否指向了一个合法的对象吗?如果能,叙述判断的思路;如果不能,请说明原因.
指针有4种,如下:
int i=1024; int *pi=&i;
int *p1=nullptr,*p2=0,*p3=NULL;
再者,这题目怎么解?
用 *(解引用符)来查看一个指针是否合法,可行? 解引用操作仅适用于那些确实指向了某个对象的有效指针,所以如果std::cout<<*p<<std::endl;出错的话,可以表示p指针就是非法的了?
*
没什么太好的方法,具体context需要不同的方法。 这道题的意义也不在于让读者提出靠谱的方案,而是引导读者思考指针的模型而已。暂时不用太当回事儿。
这个问题很大,对于初学者,我答案里已经给出,就是 NO。
请参考知乎的讨论:http://www.zhihu.com/question/24331527
FYI
谢谢 解答 上面的问题,的确太大,目前的我是无需理解
Xiao` :
2.23:给定指针p,你能知道它是否指向了一个合法的对象吗?如果能,叙述判断的思路;如果不能,请说明原因.
指针有4种,如下:
int i=1024; int *pi=&i;
int *p1=nullptr,*p2=0,*p3=NULL;
.再者,这题目怎么解?