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