Как шаблонные методы реализованы в C ++?
Я думаю о реализации шаблонов в JVM и продумал возможную реализацию для шаблонных классов, но не уверен в методах.
Если, например, вы сделали:
class Test
{
public static boolean isIterable<T>(T variable)
{
return T instanceof Iterable;
}
}
System.out.println(Test.isIterable(new int[] { 0 }));
Буду ли я создавать версию Test
с ответом на int[]
?(В моей реализации класс был бы назван так: $g$Test$A_Java_lang_int
)
Пожалуйста, игнорируйте любые проблемы с обобщениями (например, требующие только объекты в штучной упаковке), так как я собираюсь их удалить.* Я планирую создавать эти разрешенные шаблоны динамически и отслеживать количество ссылок, чтобы я мог удалить их, если они не используются.Я верю, что именно так .Net управляет этим, хотя я был бы рад ошибаться здесь!