Есть ли возможность иметь одну версию машинного кода для всех аргументов шаблона шаблонной функции?

Некоторые люди здесь сказали это 'это невозможно, и некоторые люди здесь сказали, что возможно иметь одну версию машинного кода для всех различных аргументов шаблона шаблонной функции, поэтому я подумал, что было бы выгодно открыть ветку по этому конкретному вопросу , если такой возможности нет, то в каких ситуациях можно на это рассчитывать? Пример, который был специально рассмотрен в обоих упомянутых потоках, приведен ниже:

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
}

5
задан Community 23 May 2017 в 10:33
поделиться