如果你是一個視覺思想家,它可以幫助想像星號作爲黑洞導致數據值 - 因爲這是方式的語言是由誰做了定義的傢伙。因此,它是一個指針。
和符號是所述孔的相對的端部,把它作爲一個拆開星號或宇宙飛船在一個不穩定的過程擺動大約爲先導越過脫出黑洞的過渡。
我記得被C++重載的&符號的含義給了我們引用很困惑。在他們拼命試圖避免使用更多的角色,這是由國際聽衆使用C和已知的鍵盤限制問題是合理的,他們增加了一個主要混亂的來源。
在C++中可能有所幫助的一件事是將引用看作預先準備的取消引用的指針。當您傳遞參數時,您不是使用& someVariable,而是在定義someVariable時使用了尾隨和符號。再一次,這可能會讓你更加困惑!
我的一個寵物的恨,我就不高興了蘋果的Objective-C的樣品中看到頒佈,是佈局風格int *someIntPointer
而不是int* someIntPointer
恕我直言,保持星號與變量是一個老式的C ^方法強調如何定義變量的數據類型。
someIntPointer
的數據類型實際上是一個指向整數的指針,聲明應該反映這一點。這也導致你每行聲明一個變量的要求,以避免微妙的錯誤,如:
int* a, b; // b is a straight int, was that our intention?
int *a, *b; // old-style C declaring two pointers
int* a;
int* b; // b is another pointer to an int
雖然人們認爲有能力在同一行聲明混合指針和值,故意,是一個功能強大功能,我已經看到它導致微妙的錯誤和困惑。
不要說「C/C++」。 C和C++是不同的語言。 – 2009-06-30 02:05:38
改變了它,但不要在兩個指針都以相同的方式工作? – spencewah 2009-06-30 02:06:47
C沒有參考。 – 2009-06-30 02:07:49