【发布时间】:2012-03-16 11:57:32
【问题描述】:
参考本网站http://www.cplusplus.com/reference/std/utility/make_pair/
std::make_pair 有这个签名(和可能的实现):
template <class T1,class T2>
pair<T1,T2> make_pair (T1 x, T2 y)
{
return ( pair<T1,T2>(x,y) );
}
我想知道为什么 std::make_pair 按值而不是 const 引用输入参数?
有什么特别的原因吗?
【问题讨论】:
-
有趣的是sgi.com/tech/stl/pair.html make_pair 按值接受参数,但标准将它们定义为按值传递
-
它是all better in C++11。你所有的担忧都是短暂的,很快就会变得无关紧要。
-
来自同一页面“如果相应的类型可以隐式转换,则可以从包含不同类型的其他对对象复制构造对对象。”
标签: c++