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