-
要將對(duì)象分配到堆上,需要用到另外兩個(gè)關(guān)鍵字,new 和 delete。new 用來(lái)分配對(duì)象,delete 用來(lái)刪除對(duì)象。new 會(huì)返回一個(gè)指針,在使用完畢后,要通過(guò) delete 把這個(gè)指針指向的地址釋放掉。查看全部
-
#include "Staff.h" int main(int argc,char **argv) { // 我們就這樣實(shí)例化了三個(gè)員工 Staff st1; Staff st2; Staff st3; return 0; } 代碼塊預(yù)覽復(fù)制 這樣分配,我們將這三個(gè)“員工”分配到了棧上,同樣的,可以把他們分配到堆內(nèi)存上面去。查看全部
-
想要在 main 函數(shù)中引用這個(gè)類(lèi),就需要使用 #include “Staff.h” 將頭文件引入進(jìn)來(lái)。查看全部
-
VS 為我們創(chuàng)建類(lèi)兩個(gè)文件,Staff.h 和 Staff.cpp。Staff.h 文件為定義,Staff.cpp 為實(shí)現(xiàn)查看全部
-
C++ 中,我們可以把一個(gè)類(lèi)寫(xiě)到兩個(gè)文件里面,一個(gè)是后綴為 .h 或者 .hpp 的頭文件,一個(gè)是后綴為 .cpp 的實(shí)現(xiàn)文件。我們先在開(kāi)發(fā)環(huán)境里新建一個(gè)類(lèi)。輸入類(lèi)名是 Staff查看全部
-
C++ 中我們就常常把類(lèi)定義到不同的文件里面,把每個(gè)類(lèi)都獨(dú)立起來(lái),這樣代碼的耦合性就會(huì)降低,方便維護(hù)。查看全部
-
聲明一個(gè)類(lèi)必須加分號(hào): #include <stdio.h> class Staff { }; int main(int argc,char **argv) { Staff st; return 0; }查看全部
-
類(lèi)的申明 在 C++ 中,可以用下面的代碼申明一個(gè)員工類(lèi): class Staff { };查看全部
-
類(lèi)其實(shí)和之前學(xué)過(guò)的結(jié)構(gòu)體十分相似,你可以認(rèn)為類(lèi)是結(jié)構(gòu)體的升級(jí)版查看全部
-
int * func() { int arr[] = {1, 2, 3, 4}; return arr; } 代碼塊預(yù)覽復(fù)制 但是這樣寫(xiě)得話(huà),程序會(huì)崩潰掉。原因是,arr 數(shù)組是一個(gè)局部變量,在 func 結(jié)束之后,其內(nèi)存就被銷(xiāo)毀掉了。此時(shí)在函數(shù)外面對(duì)其進(jìn)行操作,自然會(huì)出問(wèn)題。所以,要完成這類(lèi)操作,我們需要把內(nèi)存分配到堆內(nèi)存上面。 int * func() { int * arr = (int *)malloc(4 * sizeof(int)); return arr; } 代碼塊預(yù)覽復(fù)制 這樣就沒(méi)有問(wèn)題了,當(dāng)然,既然是分配在了堆內(nèi)存上,就要記得手動(dòng)銷(xiāo)毀。查看全部
-
什么情況下我們要返回一個(gè)指針,返回指針的時(shí)候需要我們注意些什么? 通常情況下,我們是希望為函數(shù)外提供一片內(nèi)存,例如,我們可以給函數(shù)外面提供一個(gè)數(shù)組。查看全部
-
void func() { static int a = 0; a++; printf("a: %d\n", a); } 代碼塊預(yù)覽復(fù)制 然后我們?cè)?main 函數(shù)中對(duì) func 函數(shù)進(jìn)行多次調(diào)用: int main(int argc,char **argv) { func(); func(); func(); func(); return 0; } 代碼塊預(yù)覽復(fù)制 運(yùn)行程序,控制臺(tái)會(huì)出現(xiàn)以下結(jié)果: a: 1 a: 2 a: 3 a: 4 代碼塊預(yù)覽復(fù)制 可以看到,每次調(diào)用,都順利累加,這就說(shuō)明,靜態(tài)變量的生命周期一直到程序的結(jié)束的查看全部
-
我們可以在函數(shù)中申明一個(gè)靜態(tài)變量。值得注意的是,這個(gè)變量的作用域雖然是在函數(shù)內(nèi),但是他并不會(huì)隨著函數(shù)結(jié)束而被銷(xiāo)毀,它會(huì)一直存在到程序的結(jié)束查看全部
-
靜態(tài)變量 在有些情況下,我們申明一個(gè)全局變量會(huì)比較麻煩,尤其是項(xiàng)目比較大的時(shí)候,全局變量不受作用域的影響,很容易造成混淆。因此,我們引入了靜態(tài)變量。靜態(tài)變量受作用域的影響,其生命周期一直到程序的結(jié)束。 例如: void func() { static int a = 0; }查看全部
-
全局變量 全局變量是在所有函數(shù)體的外部定義的,程序的所有部分都可以使用。全局變量不受作用域的影響,其生命周期一直到程序的結(jié)束。查看全部
舉報(bào)
0/150
提交
取消