2 回答

TA貢獻(xiàn)1874條經(jīng)驗(yàn) 獲得超12個(gè)贊
清空操作是把所有的元素刪除但不會(huì)釋放空間的。
賦值操作就是拷貝進(jìn)來(lái)。還是用clear吧。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊
清空操作,刪除所有元素,但是內(nèi)存空間保留。這里還有一點(diǎn)需要注意,就是當(dāng)你需要對(duì)vector賦里面添加值時(shí),vector一般都會(huì)申請(qǐng)一段內(nèi)存,直到你用光所申請(qǐng)的內(nèi)存。然后程序會(huì)開辟另一塊連續(xù)的更大的內(nèi)存,把原先內(nèi)存里面的元素一個(gè)個(gè)拷貝到新開辟的內(nèi)存,然后再在后面添加新元素。
賦值操作,一般來(lái)說(shuō)就是刪除所有元素,然后把心的一個(gè)個(gè)拷貝進(jìn)來(lái)。當(dāng)然效率是比較低的,這里有個(gè)效率更高的辦法,如果你不需要原來(lái)vector里面的值,那你對(duì)新的vector可以調(diào)用
新vector.swap(原vector)
交換兩個(gè)vector的引用,無(wú)需賦值,時(shí)間復(fù)雜度是常數(shù)級(jí)別。
添加回答
舉報(bào)