c 物件導向基礎5

2022-05-02 01:33:09 字數 961 閱讀 4945

字串  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 物件導向基礎

物件導向是一種負荷人類思維習慣的變成思維。物件導向的思想有三大特徵 封裝性,繼承性和多型性。前兩個特徵比較好理解,多型性說白了就是子類重複父類的虛函式。類與物件 類是對某一類事物的抽象描述,物件用於表示現實中該類事物的個體。物件導向的思想中最核心的就是物件,為了在程式中建立物件,首先需要定義乙個類。...