0
transformを使用して数値のリストを2で割り算するにはどうすればよいですか?私はこのコードがそれをするだろうと思ったが、それは全体のリストのために番号1と2を分けるだけなので、これを完全に忘れてしまったに違いない。誰か助けてくれますか?あります:)C++はtransform(bind)を使用して数値を分割します
list<T> v(5, 1);
list<T> d;
d.resize(v.size());
transform(v.begin(), v.end(), d.begin(), bind(divides<T>(), placeholders::_1, 2));
cout << fixed << setprecision(2);
for (list<T>::iterator i = d.begin(); i != d.end(); i++){
std::cout << *i << endl;
}
system("pause");
独立し
system("PAUSE");
に似なく、プラットフォームですさて、あなたは 'すべてが整数で、5つの要素を持つリスト' v'を初期化します1 'となる。それでは、もう何を期待しましたか? –さて、私の間違いは、プレースホルダー:: _ 1は何らかの定数であると思っていたと思います(_1がxのinstedであるところを読んでいますが、私はそれを忘れてしまいます)。だから、私はそれを変えるために何ができますか?私はplacehoders以外の何かが必要だと思いますか? – StudentLerning
'placeholders :: _ 1'は最初の引数のプレースホルダです。正しく使用しています。私は5つの '1 'のリストとして変数' v'の構築について話しています。リスト 'v'を出力すると、それはすべて' 1'であることがわかります。もちろん結果はすべての部門が「1/2」になることになります。この問題は、 'transform'や' bind'などの使用方法ではなく、問題のソースデータです。 –