C++ 17 fold expressions bir göz alıyorum ve aşağıdaki program çıktıları for_each
aramaların ikisi içinSol kattaki bir ifade, doğru katlama ifadesinin çıktısını neden ters çevirmiyor?
4 5 6
4 5 6
neden yaptığını merak ediyorum
template<typename F, typename... T>
void for_each1(F fun, T&&... args)
{
(fun (std::forward<T>(args)), ...);
}
template<typename F, typename... T>
void for_each2(F fun, T&&... args)
{
(..., fun (std::forward<T>(args)));
}
int main()
{
for_each1([](auto i) { std::cout << i << std::endl; }, 4, 5, 6);
std::cout << "-" << std::endl;
for_each2([](auto i) { std::cout << i << std::endl; }, 4, 5, 6);
}
İkinci kat ifade ifadesinin, sayıları ters sırayla
olarak belirtmek olduğunu sanmıştım.6 5 4
Sonuçlar nasıl aynıdır? ((E 1 op E2) op · ·) op TR -
(9,1):