C 使用转换(绑定)分配数字



如何使用变换将数字列表除以2?我认为此代码可以做到,但是它仅将数字1与整个列表分为2,因此我必须完全拥有MissundEnderstod。有人能帮助我吗?:(

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");
  1. 如何创建最小,完整和可验证的示例
  2. 没有理由在您的示例中使用列表。
  3. 除非您注定要与C 98,否则可以做transform(...,..., [](T& val) { val /= 2; });
  4. std::cin.ignore()system("PAUSE");相似,但平台独立

最新更新