NoS*_*tAl 4 c++ visual-studio-2010 shared-ptr visual-c++ c++11
在一些旧代码上使用C++ 10的新功能时,我最终遇到了我无法调用的问题make_shared
,需要12个参数.我记得微软的STL谈论他们如何使用仿真,make_shared
而且10是最大的.显然,为此重构代码是不可能的,所以基本上我的问题是 - make_shared
在VS 2010中有没有办法获得超过10个参数.
Dre*_*rew 11
make_shared<foobar>(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12);
Run Code Online (Sandbox Code Playgroud)
可以替换为
shared_ptr<foobar>(new foobar(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12));
Run Code Online (Sandbox Code Playgroud)
在C++ 11中,std :: make_shared实际上是使用第二种方法创建对象的性能优化,因为它只执行一次内存分配而不是两次,但是一旦你获得了10个变量,你就没有多少选择了关于哪个使用.
归档时间: |
|
查看次数: |
2044 次 |
最近记录: |