字串 string
(1)字串的不可變性
當給字串重新賦值時,老值沒有被銷毀,而是重新開闢了一塊新的空間去儲存新值《------------------堆中,在棧中位址發生變化重新指向新值所處空間的位址。
具體過程請看**(相簿中):字串的不可變性
當程式結束後由gc(垃圾**器)掃面整個記憶體,如發現有的空間沒有被指向,則立即把他銷毀。
注:當字串的變數名不一樣但是值一樣時,它們共同指向同一記憶體空間。
(2)將字串看做是char 型別的乙個唯讀陣列也就是sting型別看作char型別的乙個唯讀陣列。通過下標去訪問字串中某一元素(此時是唯讀)。
如果我們要去修改字串中的元素(值),我們應該怎麼做呢???????????
首先,將字串轉成char型別的陣列,呼叫tochararray()方法,得到char型別的陣列。
例如:string s="dsfdf;
char chs=s.tochararray();
char[0]=k;//賦值
(2)將字元陣列轉成字串,通過 new string(char 字元陣列)
例如:s=new string(chs);
額外補充:計時器
使用:stopwatch sw=new stopwatch ();
sw.start();//開始計時
需要計算時間的**過程
sw.stop();//結束時間
sw.elapsed();//得出總時間
stringbuilder與string
在進行有關字元的拼接。。操作時,string 會產生乙個新的例項(開闢空間存資料)用stringbuilder來替代
使用:(1)建立stringbuilder物件
stringbuilder sb=new stringbuilder();
(3)sb.tostring();//轉化成字串型別
C 物件導向5
include using namespace std new與malloc的區別 new 先申請記憶體然後構造 malloc 只申請記憶體 delete與free的區別 delete 先析構然後釋放記憶體 free 直接釋放記憶體 靜態的成員變數,乙個類只有乙份,不佔物件記憶體 靜態成員變數的訪問...
c 物件導向基礎
物件導向程式設計一般分為兩個檔案,標頭檔案和原始檔,例如乙個person 類,分為person.h和person.cpp person.h中有類,函式的宣告 pragma once 該檔案不會被編譯多次 include 引入string include person.h using namespac...
c 物件導向基礎
物件導向是一種負荷人類思維習慣的變成思維。物件導向的思想有三大特徵 封裝性,繼承性和多型性。前兩個特徵比較好理解,多型性說白了就是子類重複父類的虛函式。類與物件 類是對某一類事物的抽象描述,物件用於表示現實中該類事物的個體。物件導向的思想中最核心的就是物件,為了在程式中建立物件,首先需要定義乙個類。...