Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++] parametro template template?

    ciao.
    Adesso ho tralasciando i dettagl una funzione templatizzata come segue:
    codice:
    template<class T, class U, class Y, class O>
    class CXXX
    {
    
    }
    e istanzio la classe con : CXX < int, double, string, string> , si fa un po fatica a far capire che i primi due paramentri sono relativi a un caso e i secondi due ad un altro caso.
    mi servirebbe poter accorpare i primi due(T e U) e i secondi due(Y e O) in un unico parametro.
    del tipo:
    codice:
    termplate< classe x<T, U> , classe x<Y, O> > el
    CXXX
    {
    }
    e istanzio con :
    CXXX< x<int, double>, x <string, string> el
    è possibile?
    se si come accedo dal parametro composito(che è un tipo) al suo parametro interno?
    è il caso di usare i template template parameter?
    oppure?
    grazie.

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [c++] parametro template template?

    Originariamente inviato da giuseppe500
    è possibile?
    No. E' sempre obbligatorio indicare ogni parametro template.
    Puoi comunque fare:
    codice:
    template <class X, class Y>
    struct data_types {
        typedef X type1;
        typedef Y type2;
    
    };
    
    template <class X, class Y>
    struct UseTypes {
        typedef typename X::type1 type1;
        typedef typename X::type2 type2;
        typedef typename Y::type1 type3;
        typedef typename Y::type2 type4;
    };
    
    UseTypes<data_types<int,char>,data_type<long,double>> foo;
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.