相关疑难解决方法(0)

为什么使用std :: make_*而不是构造函数更好?

有些情况下,与启动STL一些功能make_前缀一样std::make_pair,std::make_shared,std::make_unique等它为什么一个更好的做法是使用它们,而不是简单地使用构造?

auto pair2 = std::pair< int, double >( 1, 2.0 );
auto pair3 = std::make_pair( 1, 2.0 );

std::shared_ptr< int > pointer1 = std::shared_ptr< int >( new int( 10 ) );
std::shared_ptr< int > pointer2 = std::make_shared< int >( 10 );
Run Code Online (Sandbox Code Playgroud)
  • 我只是看到这些函数使代码变得更短,但这就是全部吗?
  • 还有其他优点吗?
  • 这些功能更安全吗?

c++ std c++11

19
推荐指数
2
解决办法
1902
查看次数

标签 统计

c++ ×1

c++11 ×1

std ×1