參照本網站http://www.cplusplus.com/reference/std/utility/make_pair/爲什麼std :: make_pair通過值而不是通過const引用獲取輸入?
性病:: 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的值具有輸入參數,而不是常量參考?
這有什麼特別的理由嗎?
有趣的是,http://www.sgi.com/tech/stl/pair.html make_pair通過值獲取參數,但標準將它們定義爲按值傳遞 – 2012-03-16 12:05:18
它[在C++ 11中更好](http ://en.cppreference.com/w/cpp/utility/pair/make_pair)。你所有的擔憂都是暫時的,並且很快就無關緊要。 – 2012-03-16 12:15:43
「如果對象類型可以隱式轉換,則可以從包含不同類型的其他對象中複製構建對象對象。」 – PermanentGuest 2012-03-16 12:22:40