1、在不帶指針的類中可直接使用,編譯器默認的拷貝構(gòu)造,拷貝賦值,在帶指針的類中需要手動重新編寫。2、字符串長度等于字符數(shù)+1,字符串以‘/0’結(jié)束3、動態(tài)分配的內(nèi)存需要利用析構(gòu)函數(shù)釋放內(nèi)存空間new/delete。4、類中帶指針成員必須手動重寫拷貝構(gòu)造與拷貝賦值5、淺拷貝不帶指針的拷貝或者只拷貝指針不拷貝對象動態(tài)申請的資源,例如編譯器提供的默認拷貝6、深拷貝拷貝構(gòu)造以一個對象為藍本構(gòu)造一個新的對象,新對象創(chuàng)造足夠的空間存放藍本內(nèi)容然后拷貝藍本內(nèi)容的過程(拷貝對象指針的同時拷貝對象動態(tài)申請的資源)7、拷貝賦值指兩個對象都有內(nèi)容,左值清空重新分配右值大小空間并把右值賦值給左值8、<<不可以是一個成員函數(shù),使用者在用的時候方向會相反,所以最好寫成全局函數(shù)9、Stack,是存在于某個作用域的一塊內(nèi)存空間,例如當你調(diào)用函數(shù),函數(shù)本身即會形成一個棧用來放置它所接收的參數(shù),以及返回地址。其生命在作用域結(jié)束之際結(jié)束10、Heap,是指由操作系統(tǒng)提供的一塊全局內(nèi)存空間,,程序可動態(tài)分配從某中獲得若干區(qū)塊11、堆上分配的內(nèi)存都需手動釋放內(nèi)存,否則造成內(nèi)存泄漏12、如果對象是靜態(tài)(static)對象,其生命在作用域結(jié)束之后仍然存在,直到整個程序結(jié)束。13、全局對象,寫在任何作用域之外,其生命在整個程序結(jié)束之后才結(jié)束,作用域是整個函數(shù)。14、new先分配一個內(nèi)存空間在調(diào)用構(gòu)造函數(shù)15、delete先調(diào)用析構(gòu)函數(shù),再釋放內(nèi)存16、array new 搭配 array delete,否則會內(nèi)存泄漏17、傳引用只要不是local object就可以18、static 與對象脫離,不屬于對象,屬于整個類,所有對象可以共享19、一個函數(shù)處理很多個對象的時候,類成員函數(shù)通過this指針找到處理的東西的內(nèi)容在哪里20、什么時候會使用static數(shù)據(jù),固定不變的數(shù)據(jù)且所以對象共享同一數(shù)據(jù)時需要加static21、什么時候會使用static函數(shù),static沒有this指針,只能處理靜態(tài)數(shù)據(jù)22、如果是數(shù)據(jù)是靜態(tài)的需要在類外初始化數(shù)據(jù),初始化時不需要加static23、調(diào)用static函數(shù)的方式,通過對象或者通過類名調(diào)用24、類模板格式template <typename T>25、函數(shù)模板格式template <class T>26、namespace,標準庫所有的東西都被包裝在namespacd中27、用法(using directive)using namespace std(using declaration)using std::cout
或者每次使用標準庫封裝內(nèi)容時加上std::std::cout.
新聞熱點
疑難解答