1. 程式人生 > >c++ string

c++ string

新的 內存 一個 分配內存 生命周期 回收 對象 釋放內存 返回

1 string對象的內存的分配和回收

如果string很短,那麽內存是在棧上面分配的。如果string很長的話,在堆上分配內存。

string生命周期結束的話,會自動調用string的析構函數釋放內存。

2 string對象作為函數的形參

這個時候會隱式調用復制構造函數,復制實參對象,創建一個新的對象。

3 string對象作為函數的返回值

隱式調用復制構造函數,創建一個新的對象,然後傳回去,這樣的話就不怕棧上的內存被釋放了。

4 復制構造函數創建新的string對象時,字符串本身會被復制一份嗎?

會的,每個string對象都有自己的string空間,否則編輯起來就不方便了。

c++ string