8
Chciałbym wystąpienia klasy jakC++ poszerzyć parametru pakiet do krotki tablic
template<typename ...Args>
class X {
private:
std::tuple<std::array<Arg0, 255>, std::array<Arg1, 255>, ...> m_tuples; // For Arg in Args
}
wiem, że to nie jest poprawna C++, ale w jaki sposób mogę osiągnąć efekt rozszerzania szablonu parametr paczka klasa do tablic przechowywanych wewnątrz krotki?
ja nie! Czy możesz wyjaśnić, jak działa to rozszerzenie? Utknąłem myśląc o tym, ponieważ rekursywnie wywoływałbym funkcje, wyskakując z pierwszego elementu zestawu parametrów. – shane
@shane Reguły są dla mnie nieco niewyraźne, ale w ekspansji krótkiego pakietu działa się przez powielenie wzorca (syntaktycznego) i zastąpienie paczek argumentów w ramach tego wzorca. Tutaj wzorzec jest całym 'std :: array', który zostaje rozszerzony do tego, co robisz, zastępując 'Args'. –
Quentin
@shane Zobacz http://stackoverflow.com/questions/17652412/what-are-the-rules-for-the-token-in-context-of-variadic-templates. –