c 的一些知識一

2021-09-12 01:53:10 字數 1121 閱讀 9533

1.指標和引用的區別

1指標一般指的是某塊記憶體的位址,通過這個位址,我們可以定址到這塊記憶體;而引用是乙個變數的別名

2指標可以為空,即不指向任何東西;但是引用不能為空。

3指標可以多次賦值,引用只能在初始化的時候就賦好值,之後就不能改變了。

4引用的建立和銷毀不會呼叫類的拷貝建構函式和析構函式。

2.new和malloc

1、new 是c++中的操作符,malloc是c 中的乙個函式

2、new 不止是分配記憶體,而且會呼叫類的建構函式,同理delete會呼叫類的析構

函式,而malloc則只分配記憶體,不會進行初始        化類成員的工作,同樣free也不會

呼叫析構函式

3、記憶體洩漏對於malloc或者new都可以檢查出來的,區別在於new可以指明是那個

檔案的那一行,而malloc沒有這些資訊。

4、new 和 malloc效率比較

:new可以認為是malloc加建構函式的執行。

new出來的指標是直接帶型別資訊的。

而malloc返回的       都是void指標。

3.

int *const p,const int *p和int const *p的區別

const int *p; // const修飾的是*p,因此*p是常量不能改變,但可以改變p的指向;

int const* p; // 同上,主要是看const與*的前後關係;

int* const p; // const修飾的是p,因此p的指向是常量不能改變,但*p可以改變;

const int const *p; // 兩個const既修飾了*p也修飾了p,因此*p與p都是常量不能改變;

4.c++程式中main(int argc, char *ar**)函式的引數意義

兩個引數中第乙個引數argc表示在dos命令列中的輸入的程式名和引數個數之和,第二個引數中ar**[0]記錄的程式名,後面的ar**[i]記錄的輸入引數。另外argc ar**是識別符號,可以修改名稱。

C 的一些知識

1.c 中非虛函式都是靜態繫結,虛函式是動態繫結。指標或引用訪問物件的虛函式時才能進行動態繫結。靜態多型性 編譯時確定操作的物件。如 函式過載,運算子過載。動態多型性 執行時確定操作的物件。繫結 函式實現與函式名進行繫結。2.有虛函式的類,虛表存放虛函式的位址。3.例項化空類,所佔記憶體的大小為1....

C 一些初步知識

函式的過載 c 允許在同一作用域中用同乙個函式名定義多個函式,這些函式的引數個數和引數型別不同,這些同名的函式用來實現不同的功能,這就是函式的過載,即乙個函式名多用。例 int max int a,int b,int c float max float a,float b,float c long ...

C一些知識總結

1.switch 其中括號中的引數為數字型變數即 整型 字元型 列舉型別 2.include表示從庫函式數中查詢,而 include stdio.h 表示先查詢使用者自定義的標頭檔案,找不到再到庫函式中找。3.exit是乙個庫函式,用於結束乙個程式或程序。而exit 1 表示發生錯誤後退出,exit...