[轉] C++語錄 - 基本教義派
1。如果C函數的參數為空,其原形必須含關鍵字void,而c++可有可無!
2。函數之所以可以能遞歸,是因為每個函數被調用時,都會把參數和其他的局部對象復制到一塊專用的內存區域,而且同一個函數的每一個執行進程都有一個單獨的復制
3。exter "c"
{??????????????????????????????// 這是個連接說明
?#include "mychdr.h"? // 告訴c++ 庫 這是個用C編譯的函數
}
4。C++采用名字重組技術,給編譯器內部的函數標識符重命名,重組的函數名包含了指定函數的返回植類型和參數類型的符號!
5。自動儲存的類型修飾符指定一個局部變量是自動的,即每次執行到定義該變量的語句塊時,都將為該變量在內存中產生一個新的副本,并對其進行初始化。
6。靜態儲存類型初始化值只在語句塊第一次執行時其作用,在隨后的運行過程中,變量將保持語句塊上一次執行的值!
7。static 儲存類型修飾符使得函數和變量的標識符對于連接到同一個程序的其他源代碼文件而言是不可見的。
8。寄存器變量的地址是無法取得的,因為大多數計算機的硬件寄存器都不占內存地址。
9。C++程序中,默認情況下,函數的所有參數都是以傳值方式,即把實參的一個副本復制到被調用函數的形參中。
10。在編譯器內部,用一個字符數組來表示字符串常量,對字符串的使用實際上就是在引用它的內部地址,所以把字符串給字符型指針實際上就是把常量的地址賦給指針!
11。當函數的形參是指向非const 型變量的指針時,不能用const型變量的地址做形參!
12。任何地址都可以賦值給void 型指針,C++允許任何類型的指針自動轉換成?void型!
13。typedef 的作用是給一個已存在的類型起個別名!
14。指針是儲存地址的變量,地址是相對較小的數據單元(在32機系統中占四個字節)它儲存另一個數據的地址!
15。# undef 預處理指令使得以定義的宏在以后的代碼中無效!
16。不帶參數或所有參數都有默認值的構造函數叫做默認構造函數,實例化對象數組必須有默認的構造函數;如果類中之少有一個構造函數,編輯器將不在提供默認的構造函數!
17。靜態成員只能在類中申明,必須在類外定義,并且靜態成員只能存在唯一一個實例,即使沒有任何類的實例,靜態成員也是已經存在的,類的所有實例都可以使用他,他屬于整個類!
18。靜態成員函數與一般成員函數的區別:靜態成員函數沒有this指針,因此他無法訪問非靜態成員!一般的成員函數隱含this指針
19。初始化和賦值的區別是:初始化是創建一個新的對象,然后用已有的的對象去初始化,賦值是兩個都存在的對象!
20。常量數據成員和引用數據成員必須使用構造函數的參數初始化表來初始化,而不能賦值!
21。對象被申明為常量,那么該對象就不可以調用類中任何非常量型的成員函數。
22。mutable 修飾符申明的數據成員,這樣一個常量型的成員函數就可以修改它的值!
23。class member以他們在class?內的申明次序來初始化和他們在member initialization list 中出現的次序無關!
24。string &operation =(const string & rhs);// 意思是將一個常 string? 指定給另一個string?
25。string &operator =(const char *rhs);//意思是將一個常 char * 指定給一個string?
26。避免傳回內部數據的handls;
27。public繼承是一種( isa),所以任何事情只要對base class? 而言是真,就一定對其 derived class? 為真。
28。純虛函數的兩個接口,他們必須被任何“繼承了他們”的子類重新申明,他們在抽象類中通常沒有定義!
29。純虛函數的申明主要是為了讓derived class 繼承函數的接口;
?????????虛函數的申明主要是為了讓derived class 繼承函數的接口及其缺省行為
??????? 成員函數(非虛)的申明主要是為了讓derived class 繼承函數的實現,表示在 derived? class 中希望不要有不同的行為,即不要重新定義繼承而來的非虛成員函數!
30。絕對不要重新定義繼承而來的參數值,因為虛擬函數系動態綁定,而缺省參數卻是靜態綁定的!
31。對象的靜態型別是程序申明它時所采用的型別。對象的動態型別是指對象目前所代表的型別,表現出一個對象的行為模式!
40:getlin(s,bufsize)表示讀取bufsize-1個字符給s如果遇到換行符就停下來,添加一個空字節,丟棄換行符!
41。編輯器將空白字符默認為分隔符。
42。不允許重載系統中預定義的操作,因此重載操作中至少有個操作數是用戶自定義類型!
43。全局const申明默認情況下是內部連接,而在c 中他們是外部連接,如果希望一個const 對象具有外部連接特性,就必須使用關鍵字“extern”
44.除了寄存器變量以外,程序中的所有對象都存在內存中的。
45。在c++中給void型指針賦值時,不用強制類型轉換是一種錯誤!
posted on 2006-09-02 19:57
Jerry Cat 閱讀(424)
評論(0) 編輯 收藏 引用