2012-05-08 31 views
0

我想不出比這更好的標題,因爲我真的不明白那一行應該是什麼意思。 因此,它是在一個函數內部while循環,並在這裏再次是:C++語法:Object * foo(0);

Object* foo(0); 

如果它是一個指針變量的聲明,是(0)的事情在世界上是什麼? foo確實被用作幾行後的變量,如下所示:foo=new Something;

回答

2

這是那些地方C++不是C.在C++中的一個,

int i(47); 

等效(在此上下文中至少)到:

int i = 47; 

嚴格地說,它構造一個名爲i的類int的對象,並調用構造函數來初始化該對象。所以,

Object * foo(0); 

是完全一樣的

Object * foo = 0; 

它構造稱爲類的foo對象「指針到對象」(在這裏,Object是一類的名字,所以它實際上是一個類不是對象),並使用構造函數來初始化新對象。

// B

7

它將初始化指針設置爲NULL

等效於:

Object* foo = NULL; 

Object* foo = 0; // since NULL is defined as 0 
+0

@jrok你在哪裏看到任務? – 2012-05-08 22:20:12

3

它聲明一個指向Object並用0(NULL)進行初始化。

+0

對於對象,初始化/分配可以採用不同的路徑。對於指針來說,情況也是這樣嗎? – 2012-05-08 22:20:22

+0

他們是不同的東西。我不確定你是什麼意思? – jrok

相關問題