당연히 그 Linked List다 


1.

typedef struct Node{

    int data;

    Node* next;

    Node* prev;

} LinkedListNode;


뭐 이렇게 했던게 맨처음일거임 


그리고 C++을 배우고 

2.

template<typename T>

 struct LinkedListNode{

    T data;

    LinkedListNode* next;

    LinkedListNode* prev;

    //많은 생성자와 Helper메서드 

   //그리고 LinkedList 본체 클래스 

};



근데 저렇게 짜면 컴파일 시간이 좀 걸림

그래서 C/C++혼합으로


3.

 struct LinkedListNode{

    LinkedListNode* next;

    LinkedListNode* prev;

    char data[0];

    //많은 생성자와 Helper메서드 

   //그리고 LinkedList 본체 클래스 

};


그리고 ListNode 관련은 .c파일 

LinkedList 클래스는 c/c++ 스까 



그리고 리눅스 커널 

4.

 struct LinkedListNode{

    LinkedListNode* next;

    LinkedListNode* prev;

}

data는 없음 

커널 에서는 저걸 상속과 비슷한 형태로 쓰고있다... 

보면 도움이 되더라