5
int main()
{
std::vector<int> v;
v.push_back(1);
v.push_back(3);
v.push_back(2);
std::for_each(v.begin(), v.end(), std::cout << boost::lambda::_1 << "\n");
}
Bu kod, Boost'u kullanmadan C++'ya çevrilebilir mi? C++ 0x lambda ifadesi sözdizimini biliyorum, ancak bu bağlamda yer tutucuları kullanmaya çalışmadım. lambda'lar parametresini alabilirsiniz olarakBoost lambda :: _ 1, C++ 0x
[] yerine kullanmayı düşünün [=], bir şey yakalama olmadığı için. Bu, değişkenleri yakalamaya çalıştığınızda daha sonra hataları önleyecektir. –
Doğru. Düzeltildi. –