好吧,我在这里看一个代码,这个想法很难理解。关于指针和内存地址的困惑
#include <iostream>
using namespace std;
class Point
{
public :
int X,Y;
Point() : X(0), Y(0) {}
};
void MoveUp (Point * p)
{
p -> Y += 5;
}
int main()
{
Point point;
MoveUp(&point);
cout << point.X << point.Y;
return 0;
}
好了,所以我认为,一类是创建和X和Y宣布,它们被放置在构造函数中
创建方法和参数是点* P,这意味着我们将要把构造函数的指针粘贴在函数内部;
现在我们创建一个名为point的对象,然后调用我们的方法并将指针地址放在里面?
是不是指针地址只是一个内存号码像0x255255?
为什么没有声明?
(int * p = Y)
什么是内存地址?它可以用作参数?
确保您的计算机位于水平面上。您的所有代码似乎已经滑到了屏幕的左侧。 – 2010-06-11 17:06:09
是啊我知道,我住在加利福尼亚你期望什么? – TimothyTech 2010-06-11 17:15:13
对于它的价值,更喜欢对指针的引用。引用是别名,大多数时候你想要别名变量,而不是指向它。你的函数是void void MoveUp(Point&p){p.Y + = 5; }',你把它称为'MoveUp(point);';现在'p'别名'point'。用你的代码,考虑'MoveUp(0);'发生了什么。 – GManNickG 2010-06-11 17:27:46