私はブーストフェニックスの初心者です。小さなコードを書きましたが、実行シーケンスについて完全に混乱しています。コードを確認できます
std::vector<int> v;
v.push_back(1);
ph::for_each(v,
ph::lambda[ph::ref(cout)<<"a",
ph::ref(cout)<<"b"
])(v);
ph::for_each(arg1,
ph::lambda[ph::ref(cout)<<"a",
ph::for_each(v,
ph::lambda[ph::ref(cout)<<"b",
ph::ref(cout)<<"c"
]),
ph::ref(cout)<<"d"
])(v);
最初の出力は「ab」ですが、2 番目の出力は「dbca」です。
私は何か間違いをしましたか?