0
我刚开始学习C++,并且在C++入门中遇到了2个练习。这个练习中的1个我无法理解。C++入门练习
练习2.22 C++底漆
假设p
是一个指向int
,解释下面的代码:
if (p) //....
if (*p) //....
正如我在1个语句理解我们检查指针p的条件是否其true
或false
在2声明中,除了这次我们使用解除引用运算符
以外所有操作都是相同的如果我错了,你能告诉我我的错误在哪里吗?
而且接下来的练习,这个练习我无法理解
练习2.23
鉴于指针p
,你能确定是否p
指向一个有效的对象?如果是这样,怎么样?如果不是,为什么不呢?
我知道的事情是,当你的变量被初始化并且具有与指针相同的类型时,你可能知道你的指针指向了有效的对象。而且试图访问无效指针可能会导致代码问题,并且编译器蚂蚁会发现此问题。
这个练习还有别的可以补充的吗?或者我的猜测是错误的?
谢谢你的时间!
附加一点澄清:通常,指针在它们持有对对象的引用之前被初始化为“NULL”(=='0')。此外,工厂函数(实例化对象)通常在错误上返回NULL,而不是有效的指针。 – 2013-04-09 03:51:15
谢谢。那帮我 – AlexGreat 2013-04-09 03:51:59
@AlexGreat欢迎来到C++ :) – gongzhitaao 2013-04-09 03:57:09