2
新しいC++の17倍の式を学習していて、c++17 fold expressionからこのコードを見ました。Coutの17倍の倍数
template<typename ...Args>
void printer(Args&&... args) {
(std::cout << ... << args) << '\n';
}
ではなく、この1:
template<typename ...Args>
void printer(Args&&... args) {
(std::cout << args << ...) << '\n';
}
すぎロジックを思わ可能性があり、私の意見では、印刷順序を逆に考えている私は、このコードの動作理由を知っていただきたいと思います。 cppreferenceに見られるように
'std :: cout << ... << args'は(4)' init op ... op pack'にマッチします。 'std :: cout << args << ...'は有効な形式のどれにもマッチしません。 – Michael
なぜ人々はこのフォームを作成しないことを選択しましたか?どのようにして逆の方法でパラメータを取得できますか? –
"*どうやって逆の方法でパラメータを得ることができますか?*"逆転ツールを書く必要があります。これは書くのが非常に難しいでしょう。通常のパック展開では、パックを逆順に展開する方法もありません。 –