【发布时间】:2011-03-31 17:20:25
【问题描述】:
刚接触 C++。当我看到乘法符号 (*) 被用来表示一个变量的取消引用时,我经常偏离轨道
例如:
unsigned char * pixels = vidgrabber.getPixels();
这会让其他人失望吗?让我明白这一点的秘诀是什么?
谢谢。
附言我还有一个相当简单的问题,但没有得到回答:(这里:beginner question: add/subtract to value rather than just be that value 非常感谢!感谢您的宝贵时间!
【问题讨论】:
-
您的示例不是取消引用 - 它只是变量
pixels类型的一部分。但我知道你的意思。 -
你问让我明白这个问题的秘诀是什么?(意思是:这里的C指针表示法)-我会说:习惯它。人们如何在现代实验室中制造生物武器?同样的事情。
-
采用一致的风格是关键。例如,切勿在
*的两侧使用空格,除非您将其用作乘法运算符。不要选择char * pixels,而是选择char* pixels或char *pixels。 -
我发现将 C 指针符号与生物武器的生产进行比较很有趣。但是,是的,这里其他人所说的都是正确的。花时间学习这门语言会让你更熟悉它的语法。
-
@Eric,这并不是一个真正的比较(但可能看起来像一个) - 它是对人们每天做的一类疯狂事情的看法,因为他们认为他们别无选择。这就是哲学术语中的“异化”。 (顺便说一句。我是一名 C 程序员(后来的 C++)大约 20 年了)
标签: c++ pointers reference dereference