C++ では、テンプレートを使用して、ジェネリック コンテナーとタイプ セーフ コンテナーの両方を使用できます。ただし、C では、ジェネリック コンテナーが必要な場合は、(afaik) を使用void*
する必要があります。つまり、タイプ セーフが失われます。タイプ セーフなコンテナを使用するには、保持するデータのタイプごとにコンテナを再実装する必要があります。
C が C++ よりもプログラマーが何をしているかを知っているという哲学に従っていることを考えると、Cで行うより慣用的なことは何でしょうvoid*
か。