2023年9月C 筆試準備 五

2021-10-09 17:17:44 字數 2072 閱讀 4191

第五章 資料的共享與保護

作用域函式原型作用域:在函式原型宣告時形式引數的作用範圍就是函式原型作用域

區域性作用域:函式形參列表中形參的作用域,從形參列表中的宣告處開始,到整個函式結束之處為止。

函式體內宣告的變數,其作用域從宣告處開始,一直到宣告所在的塊結束的大括號為止。

具有區域性作用域的變數也稱為區域性變數。

類作用域:類可以被看作是一組有名成員的集合,類x的成員m具有類作用域。

命名空間作用域:消除同名歧義,乙個命名空間確定了乙個命名空間作用域

全域性命名空間是預設的命名空間,在顯式宣告的命名空間之外宣告的識別符號都在乙個全域性命名空間中。

匿名命名空間是乙個需要顯式宣告的沒有名字的命名空間。

具有命名空間作用域的變數也稱為全域性變數。

物件的生存期

靜態生存期:如果物件的生存期與程式的執行期相同,則稱它具有靜態生存期。

在命名空間作用域中宣告的物件都是具有靜態生存期的。

關鍵字static可以在函式內部的區域性作用域中宣告具有靜態生存期的物件。

靜態變數,不會隨著每次函式呼叫而產生乙個副本,也不會隨著函式返回而失效,該變數會在每次呼叫間共享。

未指定初值的基本型別靜態生存期變數,會被賦予0值初始化。

動態生存期:

類的靜態成員

作用:靜態成員是解決同乙個類的不同物件之間資料和函式共享問題的。

**注:**在類的定義中僅僅對靜態資料成員進行引用性宣告,必須在命名空間作用域的摸個地方使用類名限定定義性宣告,這時也可以進行初始化。

靜態資料成員函式可以直接訪問該類的靜態資料和函式成員。

而訪問非靜態成員,必須通過物件名。

類的友元

友元關係提供了不同類或物件的成員函式之間、類的成員函式與一般函式之間進行資料共享的機制。

如果a類是b類的友元類,則a類的所有成員函式都是b類的友元函式,都可以訪問b類的私有和保護成員。

注意:

友元關係是不能傳遞的;

友元關係是單向的;

友元關係是不被繼承的。

常物件它的資料成員值在物件的整個生存期內不能被改變。(常物件必須進行初始化,而且不能被更新)

const   型別說明符   物件名;
不能通過常物件呼叫普通的成員函式。

常成員函式

宣告格式:

型別說明符   函式名(參數列)  const;
在函式的宣告和定義時都要帶const關鍵字;

常物件只能呼叫它的常成員函式;

常成員函式不能更新目的物件的資料成員;

const可以用於對過載函式的區分。

常資料成員

如果在乙個類中說明了常資料成員,那麼任何函式中都不能對該成員賦值。

建構函式中對它賦值只能通過初始化列表。

常引用常引用所引用的物件不能被更新。

const   型別說明符   &引用名
非const的引用只能繫結到普通的物件,而不能繫結到常物件

外部變數

如果乙個變數除了在定義它的原始檔中可以使用外,還能被其他檔案使用,那麼就稱它為外部變數。

命名空間作用域中定義的變數,預設情況下都是外部變數,但是在其他檔案中如果需要使用這一變數,需要使用extern關鍵字加以宣告。

外部函式

在所有類之外宣告的函式,具有命名空間作用域,若沒有特殊說明,這樣的函式都可以在不同的編譯單元中被呼叫,只要在呼叫之前進行引用性宣告(即宣告函式原型)即可。

將變數和函式限制在編譯單元內

static關鍵字用來修飾命名空間作用域的變數或函式時,和extern關鍵字起相反的作用,他會使得被static修飾的變數和函式無法被其他編譯單元引用。

注:static關鍵字在用在區域性作用域、類作用域、命名空間作用域時具有不盡相同的作用。

2023年9月C 筆試準備 四

第四章 類與物件 物件導向程式設計的主要特點 抽象 封裝 繼承 多型 類的訪問控制 物件所佔據的記憶體空間只用於存放資料成員,函式成員不在每乙個物件中儲存副本,每個函式的 在記憶體中只佔據乙份空間。在類的成員函式中,既可以訪問目的物件的私有成員,又可以訪問當前類的其他物件的私有成員。類成員函式的預設...

Sperax月報 2023年9月

defi很火?各種 淘金 方式層出不窮 搶頭礦 搶空投 搬磚套利,再到發假幣和形形色色的詐騙 這其中,既有正常的投資行為,也有冒險的投機行為,更有依靠作惡而獲利的行為。在sperax看來,去中心化金融的道路還很長,遠不是像某些專案那樣蹭波熱度。這條路是需要認真和用心經營的,接下來,為您奉上本期spe...

2023年9月12日 網易

四題 第一題 第二題 給定乙個字串s,問該字串有多少個長度大於1的子串都是回文?回文 正序文本內容和 倒序文字內容都相同,如 aa,aba 輸入 字串 s,1 length s 100000 輸出 乙個整數,該字串內部有多少個字串都是回文 示例1輸入a輸出 0示例2 輸入abbcbb輸出4 原型 l...