http://msdn.microsoft.com/en-us/library/d5x73970(v=vs.80).aspx它究竟是如何存儲在存儲器中 - 嵌套是混淆
在上述鏈接「節點」類有「節點」作爲它的數據成員。 它是如何存儲在內存中的?因爲當它爲「節點」創建內存結構時,其中一個成員具有「節點」內存結構。由於某種原因,我無法理解在程序中如何解釋並由編譯器編譯的內部工作。
http://msdn.microsoft.com/en-us/library/d5x73970(v=vs.80).aspx它究竟是如何存儲在存儲器中 - 嵌套是混淆
在上述鏈接「節點」類有「節點」作爲它的數據成員。 它是如何存儲在內存中的?因爲當它爲「節點」創建內存結構時,其中一個成員具有「節點」內存結構。由於某種原因,我無法理解在程序中如何解釋並由編譯器編譯的內部工作。
我認爲你的麻煩來源於你直覺上認爲數據成員節點(或者說分配給它的內存)包含在原始節點中的事實。
理解的關鍵是Node成員實際上是一個引用 - 它可能爲空。因此用於存儲構成節點的數據的內存可以在任何地方。 Node成員本質上是一個指針。
.NET和現代語言往往會掩蓋這種事情讓程序員不需要考慮一下。如果我是你,我會考慮找到一個高質量的C文本,並仔細閱讀有關指針的章節。
Node
成員沒有「嵌入」或「嵌套」,因爲你稱之爲。
它只是一個參考到另一個節點。如果你在做C或C++,它在概念上將是一個指向anohter節點的指針。
private class Node
{
private Node next;
private T data;
...
}
私有字段next
商店Node
類型的對象的引用。它引用的對象將在內存中的其他位置。
[你應該只根據你面對的實際問題提出實際的,可回答的問題。](http://stackoverflow.com/faq)你面臨的問題是,你的問題也可以解決嗎? – 2012-07-18 22:09:51