我有一些問題了解什麼const value_type& val
意味着在這個函數:std :: vector.resize()中的第二個參數是什麼意思?
void std::vector::resize (size_type n, const value_type& val);
我讀了C++ reference,並在這裏就是這樣說的:
對象,其內容被複制到的情況下,所添加的元素n大於當前容器大小。 如果未指定,則使用默認構造函數。 成員類型value_type是容器中元素的類型,在矢量中定義爲第一個模板參數(T)的別名。
但是它究竟做了什麼?例如,我有這行代碼:
myVector.resize(10, numeric_limits<double>::infinity());
無窮大的內容被複制到myVector
如果10比它的當前大小更大?
如果有人可以請解釋,那會很好。
謝謝!
我真的不知道如何描述不清楚。是的,您作爲第二個參數傳遞的對象用於填充最後一個'10 - myVector.size()'元素。 –
C++參考狀態「如果n大於當前容器大小,則通過在末尾插入儘可能多的元素以達到n的大小來擴展內容。如果指定val,則將新元素初始化爲val,否則,它們會被初始化。「所以是的,'val'用於初始化添加到矢量中的任何新元素。分享並享受。 –