2014-01-22 111 views
-4

我的老師提到了(實際上他只是寫在板子上,並沒有提到它)這個特殊的指針,但我不明白它的意義。他在板子上寫的例子是這樣的:* <Class_Name> * <variable_name>中的含義是什麼?

Book * book; 

指針在像這樣使用時會做什麼?

+3

對此的解決方案是不是'問老師?' – John3136

+1

不是問題 –

+0

@AndreyChernukha ......但我找不到合適的密切原因。 –

回答

1

*是該類型的一部分。

book的類型是Book *,這是一個指向Book的指針。

class Book { 
}; 

Book * book1 = new Book(); 
Book * book2 = book1; 
//now book1 and book2 point to the same Book 
+0

我以爲Book * book是指向一本書的指針,Book * book就是一樣的東西? –

+0

@ grim_v3.0空格在這裏並不重要。 – Samuel

+0

@ grim_v3.0,是的。 「書*書」,「書*書」,「書*書」和「書*書」是相同的。 –

0

基本上,使用*可以用來定義一個指針。
什麼你的老師的意思是一個指針申報類型的書

Book* book1 ; // Declare a pointer to a object of type Book 
    Book bookObj ; 
    book1 = &bookObj ; // now book1 points to bookObj. 

的對象,您可以使用*與任何類型(預先定義,以及在C++ custome定義的類型)。
您也可以使用*來取消引用指針。

int num1 = 0 ; 
    int* num1p = &num1 ; // pointer pointing to num1 
    *num1p = 10 ; // same as num1 = 10. 

希望這有助於!

相關問題