템플릿으로 범용 데이터 구조와 알고리즘 구현 템플릿을 이용하면 범용 구조체 타입 또는 클래스 형태를 생성할 수 있다. 가능하면 데이터 구조와 알고리즘을 프로그램에 특화된 방식으로 만들지 말고, 최대한 범용적으로 만든다. 템플릿이 아닌 범용 데이터 구조 구현 방법 템플릿 말고 다른 범용 데이터 구조는 얼마든지 만들 수 있다. 좀 구식이긴 하지만 C, C++의 void*가 해당 예시이다. 하지만 이 방법은 타입 세이프(안정적)하지 않다. C++17부터는 void*와 템플릿을 사용하지 않고 std::any 클래스를 사용하는 방법이 있다. 객체 타입이 무엇이든 any클래스에 저장할 수 있다. std::any 내부에서 void*를 사용하지만, 본래 타입(자료형)을 저장해두기 때문에 안정성을 보장한다. 템플릿을 사..