숙제 태그에 유의하십시오. 모든 숙제와 마찬가지로 실제 코딩에 대한 직접적인 대답에 대한 도움이되는 제안은 높이 평가됩니다. 그래도 내 개념적 질문에 답할 수는 있습니다.이중 연결 목록의 이상한 복사 생성자
안녕하세요,
내 교수는 숙제를 우리에게 이중 연결리스트를 할당하고, 나는 절대적으로 그것을 필요로 할 때까지 도움을 요청 피하고되었고, 내가 여기 있나이다.
그는 우리에게 클래스를 만들어야하는 헤더 파일을 제공하고 은 헤더 파일을 완벽하게 따라야합니다. 그가 그의 복사 생성자을 수행하는 방식은 그가 우리에게 복사 생성자 호출을 가지고있는 도우미 함수를 작성하게한다는 것입니다.
나는 일반적인 경우에, 쉽게 할 수,하지만 그는 우리에게 도우미 함수에 대한 매우 기괴한 서명을 주신이 시간 :
이 Elems라는 구조체의 체인을 복사하는 것입니다// copys chain at oldHead to newHead.
static void copy(Elem *&newHead, const Elem *oldHead)
:
struct Elem
{
Information info;
Elem *next;
Elem *back;
};
가 나는에 관해서는 대부분 혼란 스러워요 어떻게 됐을까 전체 Elem 모델 * & 사업 때문에 내가 기억하지 &을하고 * 서로 상쇄 것과?
감사합니다. 모든 도움은 정말로 감사하겠습니다! 다행히도 앞으로 내 위치에있는 다른 사람들을 도울 것입니다. :)
포인터 *에 대한 참조입니다. –
* 표현식 *에서'&'는 이미 알고있는 것처럼 주소 연산자입니다. * 선언 *에서'&'는 참조 선언을 나타냅니다. 이러한 무관계 한 개념은 불행히도 같은 상징을 공유합니다. 그 점을 이해할 수 있다면, Elem * 및 newHead에 대한 다른 사람들의 의견은 Elem에 대한 참조가 의미가 있어야합니다. –
http://www.parashift.com/c++-faq-lite/references.html –