2015-07-20 18 views
1

我不明白爲什麼&運算符主要意味着「地址」存在, 我在C中使用此運算符,但在此代碼中我不明白這是目的。不能理解這段代碼(運算符&)在C++

#ifndef _STUDENT_ 
#define _STUDENT_ 

struct Student { 
    char* name; 
    int mark; 
}; 

void InitStudent(Student&); 
void ShowStudent(Student); 
void DeleteStudent(Student&); 

#endif 
+2

它標記了「引用類型」(半指針) - C++中的一些全新的東西(與C相比)。閱讀一些關於C++的書/教程 - C和C++是完全不同的語言 – Hcorg

+0

A [好問題](http://stackoverflow.com/questions/57483/what-are-the-differences-between-a-pointer-variable-和-a-reference-variable-in)來查看。 – Soapy

回答

7

Student&&意味着你傳遞一個(非const)參考到學生的實例。這不是C的「運營商地址」。

+0

引用的字節模式對應於什麼?對於指針,很容易理解它們的字節模式只是指針對象的內存地址。或者,對於整數5來說,它是00 ... 0101。 –