簡介
計算機中swap函式很多,在不同領域有不同的用法,但都是交換的意思。比如字元串交換(swap)
swap操作實現交換兩個容器內所有元素的功能。要交換的容器的類型必須匹配: 必須是相同類型的容器,而且所存儲的元素類型也必須相同。調用了swap函式後,右運算元原來存儲的元素被存放在左運算元中,反之亦然。
vector<string> svec1(10); //vector vith 10 elements
vector<string> svec2(24); //vector with 24 elements
svec1.swap(svec2);
執行swap後,容器svec1中存儲24個string類型的元素,而svec2則存儲10個元素。
關於swap的一個重要問題在於:該操作不會刪除或插入任何元素,而且保證在常量時間內實現交換。由於容器內沒有移動任何元素,因此疊代器不會失效。
語法
void swap( basic_string &str );
swap()函式把str和本字元串交換。例如:
string first( "This comes first" );
string second( "And this is second" );
first.swap( second );
cout << first << endl;
cout << second << endl;
顯示
And this is second
This comes first