私の宿題にご注意ください。すべての宿題と同様に、実際のコーディングへのストレートな回答に対する有益な提案が高く評価されています。しかし、私の概念的な質問にまっすぐ答えてください。二重リンクリストの変なコピーコンストラクタ
こんにちは、
私の教授は私達に宿題のための二重リンクリストを割り当て、そして私は、私は絶対にそれを必要とし、ここで私はまで助けを求める避けました。
彼は私たちにクラスを作らなければならないヘッダーファイルを提供しており、はヘッダーファイルに完全に従わなければなりません。彼がコピーコンストラクタをやっているのは、彼が私たちにコピーコンストラクタコールを持っているヘルパー関数を書くようにすることです。
私は、通常の場合には、これを簡単に行うことができますが、彼は私たちにヘルパー機能のための非常に奇妙な署名を与えているこの時間:
:// copys chain at oldHead to newHead.
static void copy(Elem *&newHead, const Elem *oldHead)
これはElemsと呼ばれる構造体の連鎖をコピーすることです
struct Elem
{
Information info;
Elem *next;
Elem *back;
};
私は* &事業全体のElemは私が覚えているから、&及び*は互いに相殺していない、ので、何にとして、主に混乱していると思いますか?
ありがとうございます、ありとあらゆるヘルプが本当に感謝しています!うまくいけば、これは将来的に私の立場にある他の人たちを助けてくれるでしょう:)
C++では、ポインタ*への参照です。 –
*式*の中で、あなたがすでに知っているように、 '&'はアドレス演算子です。 *宣言*では、 '&'は参照宣言を表します。これらの無関係な概念は残念ながら同じシンボルを共有しています。そのことを理解できれば、Elem *とnewHeadについての他の人のコメントはElemへの参照であることが理にかなっているはずです。 –
http://www.parashift.com/c++-faq-lite/references.html –