Come si chiamano le linee del codice che dichiarano che una classe o una funzione è un modello? [chiuso]

0

Sto scrivendo alcune macro che dichiarano i tipi di template e sono un po 'perplesso sulla terminologia. Per illustrare, prendi il seguente esempio:

// template class declaration
template <typename A, typename B> // what is this called?
class A;

La mia domanda è: Qual è il nome della riga sopra class A ?

    
posta quant 03.10.2014 - 02:44
fonte

2 risposte

2

Questa è semplicemente una parte della dichiarazione della classe .

Quando dichiara un tipo, in pratica dici "questo è un tipo". Rispetto alla definizione che fornisce i contenuti del tipo: i suoi membri dati e le funzioni membro (anche se tali funzioni possono essere esse stesse dichiarazioni, con le definizioni separate).

Che la dichiarazione che hai fornito riguardi un modello non cambia questo fatto, né il fatto che siano su righe separate nel file. La newline è irrilevante qui: la cosa importante è ciò che avviene dall'inizio dell'istruzione alla sua fine (il punto e virgola).

    
risposta data 03.10.2014 - 03:06
fonte
1

Per quanto ne so, non sembra esserci un nome ufficiale per questo.

Nello standard C ++, la grammatica per una dichiarazione modello è:

template-declaration:
    "template" "<" template-parameter-list ">" declaration

quindi in realtà non indica un nome per la parte template<...> .

    
risposta data 03.10.2014 - 03:53
fonte

Leggi altre domande sui tag