Некоторые люди здесь сказали это 'это невозможно, и некоторые люди здесь сказали, что возможно иметь одну версию машинного кода для всех различных аргументов шаблона шаблонной функции, поэтому я подумал, что было бы выгодно открыть ветку по этому конкретному вопросу , если такой возможности нет, то в каких ситуациях можно на это рассчитывать? Пример, который был специально рассмотрен в обоих упомянутых потоках, приведен ниже:
template
struct Elements{
public:
SomeType elements[num];
};
template
void print(const Elements & elements,size_t size){
//all instances do exactly same thing and with regard to Size that determines the size of object
}
и, конечно же, есть также версия передачи по значению:
template
void print(const Elements elements,size_t size){
//all instances do exactly same thing and with regard to Size that determines the size of object
}