c++入门练习
C++ Primer Exercise
我刚刚开始学习c++,并在c++入门中遇到了2个练习。这些练习中有一个我看不懂。
习题2.22 c++入门
假设p
是指向int
的指针,解释以下代码:
if (p) //....
if (*p) //....
正如我在1语句中理解的,我们检查指针p的条件是true
还是false
在2语句中,所有操作都是一样的,只是这次我们使用了解引用操作符
如果我错了,你能告诉我哪里错了吗?
和下一个练习,这个练习我看不懂
运动2.23
给定一个指针p
,你能确定p
是否指向一个有效的对象?如果有,怎么做?如果不是,为什么不呢?
我知道的事情是,当你的变量初始化,并有相同的类型的指针,然后你可能知道是你的指针指向有效的对象。并且试图访问无效指针可能会导致代码问题,编译器无法发现此问题。
关于这个练习还有什么可以补充的吗?还是我猜错了?
感谢您的宝贵时间!
假设
int *p = NULL;
:
if (p)
检查p是否为NULL并返回false。
if (*p)
检查(*p) == 0
,即p
所指向的整数是否为0。
如果你有
int *p;
。,则p
将指向内存中的随机地址,
if (p)
在大多数情况下返回true。和
if (*p)
将给出未定义行为
相关文章:
- 加速C++练习2.4
- C++ 独特指针练习的向量
- 转换器练习:跳过 if 语句和 if 语句
- 节目练习直播C++
- 所以我正在为我的学校作业练习继承,但我无法正确实施标题保护
- 我正在尝试一个傻瓜 C++ 练习,我遇到了一个错误,说类 'GraduateStudent' 没有任何名为 'advisor' 的字段
- 练习多线程
- 返回不停止函数,递归函数问题?(编程练习,动态规划,Levenshtein 回溯)
- C++ 随机数的字符串练习
- 进行 SFINAE 练习时编译错误
- 用 X 替换字符串中的字符C++练习
- 在C++中使用全局变量进行练习
- 是回文作业练习
- C++原理和练习练习-从输入值n中寻找素数
- 我在LeetCode练习时遇到了一些奇怪的错误
- 贝金纳C++练习解决方案的意外输出
- 练习循环和使用循环 1 次以及如何获取数组的最大值
- 对"车辆的 vtable"的未定义引用 - 面向对象的编程练习
- 用绳子练习
- 英里到千克转换器练习的小语法错误