*在<class_name> * <variable_name>?</variable_name> </class_name>中有什么意义?

时间:2014-01-22 06:22:06

标签: c++ pointers

我的老师提到了(实际上他只是把它写在黑板上并且没有说明)这个特殊的指针,但我不明白它的重要性。他在董事会上写的这个例子是:

Book * book;

当像这样使用它时指针会做什么?

2 个答案:

答案 0 :(得分:1)

*是该类型的一部分。

book的类型为Book *,是指向Book的指针。

class Book {
};

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

答案 1 :(得分:0)

基本上,使用*可用于定义指针 老师的意思是声明一个指向Book

类型的对象的指针
    Book* book1  ; // Declare a pointer to a object of type Book
    Book bookObj ; 
    book1 = &bookObj ; // now book1 points to bookObj.  

您可以将*与任何类型(预定义以及c ++中定制的类型)一起使用 您还可以使用*取消引用指针。

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

希望这有帮助!