次のコードを手伝ってください。ベクトルに文字列の長さを追加する必要があります。ブーストでそれを達成する方法がわかりません。これまでの私の最高のアイデアは次のとおりです。
boost::bind(add2Vect, boost::ref(lengths), L::_1)
ここで、add2Vectは、ベクトルと文字列を受け取り、文字列の長さをベクトルに追加する単純な関数です。Lはboost::lambdaの省略形です
しかし、離散関数を作成する必要があるため、このソリューションは良くありません。それはラムダがどうあるべきかではありません。
コード:
vector<string> strings;
strings.push_back("Boost");
strings.push_back("C++");
strings.push_back("Libraries");
vector<int> lengths;
for_each(strings.begin(), strings.end(),
// add lengths of strings to the vector 'lengths'
);
for_each(lengths.begin(), lengths.end(),
cout << L::_1 << " "
);