【发布时间】:2017-02-08 13:10:01
【问题描述】:
我目前正在学习 C++。不在学校。使用书籍、教程和练习。
让我感到困惑且无法找到答案的一件事是何时使用解引用运算符 (*) 作为指针。例如,来自我目前正在阅读的 C++ 入门:
char *cp = get_string();
if (cp) /* ... */ // true if the pointer cp is not zero
while (*cp) /* ... */ // true if *cp is not the null character
我不明白为什么在 if 语句中它只是 cp 没有取消引用运算符,然后在 while 语句中它使用取消引用运算符。还有其他示例,例如 for 循环中的混合使用,但这是本书中让我感到困惑的最新示例。提前感谢您的帮助。
总结:你什么时候只使用指针的变量名而不使用解引用,什么时候使用它来解引用。以及如何区分。
【问题讨论】:
-
答案就在你的代码cmets ..
-
@HAG,我不在学校,我正在努力学习,所以我不完全理解它的含义,但感谢你对初学者投反对票,因为我不明白。我认为在这里发帖的目的是如果我需要帮助。您可能很容易理解这些 cmets 的含义,但我敢肯定,当您刚开始时,某些方面的情况也令人困惑。
-
我没有投反对票!但是,我确实认为您可以通过简单的在线搜索找到答案.. 有大量的教程可以帮助您解决您的要求。这可能就是你的问题被否决的原因......
-
@HAG,那么我很抱歉。我做了谷歌搜索。尝试了一段时间,但找不到我的具体要求。这只是关于为什么使用指针和指针而不是引用的问题。我不知道为什么我因为提出问题而被否决。
标签: c++ pointers if-statement while-loop