Sono nuovo ai modelli e metaprogrammazione in C++. Quello che sto cercando di fare ora è il seguente: Ho una struct con un modello che prevede non-tipo confezione variadic di tipo char, definito banalmente come segue:C++ combinando il modello degli argomenti metaprogramming
template <char ... chs>
struct MyStruct
{};
Ho un secondo modello di struct che si aspetta due tipi, come questo:
template <typename ch1, typename ch2>
struct Together
{
};
Quello che sto cercando di realizzare è:
cout << Together<MyStruct<'a','b'>, MyStruct<'c','d'>>::result << '\n';
che deve stampare: ABCD
Grazie in anticipo
Dal momento che le persone che rispondono alla domanda sembrano avere diverse interpretazioni di che cosa esattamente vuoi sapere: quale aspetto hai problemi con? Concatenare i due pacchetti di parametri o convertire un pacchetto di parametri 'char ...' in una stringa? Avrebbe notevolmente migliorato la tua domanda se avessi mostrato quali aspetti * non * avessero bisogno di una risposta. – hvd
Concatenazione di due pacchetti di parametri in fase di compilazione –