연결리스트 노드 삽입 질문이요ㅠ

fopenfclose의 이미지

class linkedList
{
 
public:
       node * head;
...
 
}

보통은 메인에서 node * head 이렇게 선언하던데 이렇게 노드 안에 헤더를 선언해서 노드 삽입해도 깔끔한 코드 인가요?

HDNua의 이미지

1. 연결 리스트를 설명하는 책 중 아직도 main 소스 파일에 node *head;와 같은 변수를 선언하는 책이 많은데, 정말 이런 책들은 빨리 없어져야 합니다.
연결 리스트와 같은 자료구조를 유용하게 사용하려면 재사용성이 높아야 하고, 재사용성을 높이려면 반드시 코드를 분리해야 합니다.
즉 main에서 node *head;와 같이 사용하는 것보다 struct list { node *head; };와 같은 코드가 '훨씬' 더 좋은 코드입니다.

2. 이제보니 질문과 내용이 별 상관이 없네요. 삽입 과정이 없으니..
기분을 상하게 하려는 건 아니지만 제목을 명확하게 하시면 더 좋은 답변을 얻으실 수 있을 거라고 생각합니다.

저는 이렇게 생각했습니다.