Я пытаюсь создать диспетчер ресурсов (как и тот, который предоставляется в библиотеке Libgdx) для SFML в C++. Но я сталкиваюсь с возрастной проблемой шаблонов, являющейся одной из худших частей C++.Общие объекты карты
Я пытаюсь, чтобы объект объекта карты имел общие типы, ключ был бы простой строкой, и данные были бы любыми типами, которые я хочу, чтобы это было. Обратите внимание: я не хочу, чтобы шаблонный объект просто удерживал один общий тип во всей карте (IE, а карта - <string, int>
). Я хочу иметь разные типы на одной карте, чтобы я мог загружать много разных активов.
Есть ли способ сделать что-то подобное?
Благодарим вас за помощь и внимание, любой маленький наконечник проходит долгий путь.
Хорошо, что есть * [Boost Any library] (http://www.boost.org/doc/libs/1_57_0/doc/html/any.html), или, конечно, используя наследование указателей. Но вы могли бы также переосмыслить свой дизайн о том, чтобы один управляющий активами обрабатывал все активы и вместо этого использовал один менеджер для каждого типа активов (и вместо этого имел карту менеджеров). –
Шаблоны - одна из лучших частей C++. Что касается вашей проблемы, вы можете посмотреть http://stackoverflow.com/questions/251403/how-do-you-make-a-heterogene-boostmap –
Спасибо за это! Я проверю это через некоторое время позже, и, наверное, я неправильно сформулировал комментарий к шаблону. Я хотел сказать, что, на мой взгляд, и мнение большинства моих друзей, шаблоны на C++ - одна из самых неприятных и запутанных функций (хотя они очень полезны). –