*在C ++方法签名中的含义是什么?

时间:2012-04-14 20:09:20

标签: c++ pointers reference

我知道*与指针有关。我仍然试图在脑海中排除这一点(指针与参考文献。)

我正在编写一本C ++书籍,其中有一个方法签名:

void DrawBitmap(char *filename, int x, int y)

*在这种情况下意味着什么?是接受指针,还是对变量的引用?

感谢您的帮助......以及忍受一个公认的noob问题。

3 个答案:

答案 0 :(得分:4)

这意味着您将指向字符的指针传递给它,这通常意味着指针指向字符数组中的第一个字符。使用指针(*),您可以进行算术运算,例如(fileName + 1)获取第二个字符。当您使用引用(&)时,您暗示接收函数应对原始数据进行操作。如果没有引用,则会传递一个副本而不是原始函数。

答案 1 :(得分:1)

其他人已经直接回答了你的问题;以下一些链接非常值得阅读有关指针的信息(以及它们的语法与C ++中的数组的关系),它们非常值得研究,我建议花一点时间阅读它们到了解这些想法:

http://www.c-faq.com/aryptr/

http://www.augustcouncil.com/~tgibson/tutorial/ptr.html

http://www.augustcouncil.com/~tgibson/tutorial/arr.html

http://www.eternallyconfuzzled.com/tuts/languages/jsw_tut_pointers.aspx

http://www.daweidesigns.com/cgi-bin/pointers.php

答案 2 :(得分:0)

char *filename是指向要传递给DrawBitmap方法的字符的指针。有关详细信息,请see this link