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