好吧,我在這裏看一個代碼,這個想法很難理解。關於指針和內存地址的困惑
#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