看看這個...... http://en.cppreference.com/w/cpp/container/vector/insert 編譯器如何區分第3個和第4個之間的區別,即在所提供的範圍內是否使所需int的no.of副本或填滿容器。編譯器如何區分以下內容?
// 3rd
iterator insert(const_iterator pos, size_type count, const T& value);
// 4th
template< class InputIt >
iterator insert(const_iterator pos, InputIt first, InputIt last);
在此先感謝您。
所以我們都在相同的波長上,我在你所說的超載中編輯過(任意使用C++ 11,無論使用C++ 11,答案都應該是相同的)。 –
@BjörnPollex給定'std :: vector','v.insert(it,2,0)'的重載決議將導致選擇模板函數(選項4),至少在C++ 03中是這樣。 (在C++ 11中,措辭是不同的,並且要求在任何時候類型不符合迭代器的要求時都要將模板函數從重載解析中排除。在C++ 03中,措辭要求模板形式具有與非模板形式相同的行爲,如果'InputIt'解析爲整數類型。) –