C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用(lambda)函数填充C容器?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想用指向对象的指针初始化一个容器.我目前有这样的循环:
for(int i=0;i < n;i++) {
    container.push_BACk(new Object());
}

哪个C操作(即类似于std :: transform)是替换此循环并使用N个新创建的对象初始化容器的权利?

解决方法

使用 std::generate
constexpr @R_616_9293@ = 10;
std::vector<Object*> v1(n);
std::generate(v1.begin(),v1.end(),[](){ return new Object(); });

std::generate_n

std::vector<Object*> v2;
v2.reserve(n); // pre-allocate sufficient memory to prevent re-alLOCATIOns
               // (you should have done in original loop approach as well)
std::generate_n(std::BACk_inserter(v2),n,[] { return new Object(); });

大佬总结

以上是大佬教程为你收集整理的如何使用(lambda)函数填充C容器?全部内容,希望文章能够帮你解决如何使用(lambda)函数填充C容器?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。