gpt4 book ai didi

c++ - 为什么 std::make_pair 按值而不是 const 引用获取输入?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:22:14 25 4
gpt4 key购买 nike

引用本网站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 引用获取参数,但这引入了一些意想不到的问题。缺陷报告后改为按值传递:

http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#181

预计编译器将内联函数并能够优化大部分时间传递的参数。

关于c++ - 为什么 std::make_pair 按值而不是 const 引用获取输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9736782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com