原创 繼承&派生

一、什麼是繼承和派生   封裝、繼承、多態是C++的三個重要的特性。在面嚮對象的技術中強調軟件的可重用性,而繼承機制就是用來解決軟件的重用問題。在C++中,所謂“繼承”就是在一個已經存在的類的基礎上建立一個新的類。已經存在的類成爲基類或父類

原创 指針綜合篇

一、指針1、指針的概念:用來保存地址的“變量”叫做指針,可以理解成指針是地址的一個別名。例:定義一個整形指針2、“指針的內容”,“指針所指向的內容”,“指針變量的地址”  (1)、指針的內容:    指針變量p裏面存放的是a的地址,也就是0

原创 任意類型排序

模擬qsort()函數,實現任意類型排序: qsort()簡介: 原型:void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void

原创 強制類型轉換

C++中的強制類型轉換:static_cast、reinterpret_cast、const_cast、dynamic_cast. static_cast:用於非多態類型之間的轉換(靜態轉換),任何標準類型之間都可以用它,但它不能用於不相

原创 寫時拷貝技術

Copy On Write(COW):寫時拷貝技術一、什麼是寫時拷貝技術:寫時拷貝技術可以理解爲“寫的時候纔去分配空間”,這實際上是一種拖延戰術。舉個栗子:二、寫時拷貝技術原理:  寫時拷貝技術是通過"引用計數"實現的,在分配空間的時候多分

原创 String簡單實現

String類的簡單實現:1、在拷貝構造函數和賦值運算符重載這兩個函數中有淺拷貝和深拷貝的問題2、要對輸入輸出函數重載3、賦值運算符重載有兩種方式。注意在採用交換實現的時候函數的參數只能是臨時變量class String { friend

原创 智能指針簡單實現

   很多人都誤以爲智能指針是一個指針,其實不然,智能指針不是指針,智能指針是一個模板,由智能指針實例化出來的的對象具有和常規指針相似的行爲,但是他能夠自動的釋放所指向的對象,所以我們稱之爲智能指針。如果我們用普通指針來創建一個指向某個對象

原创 strchr 、 strrchr 、strrstr的實現

#include<stdio.h> #include<stdlib.h> #include<assert.h> char *my_strchr(const char *dst, char c) { assert(dst); const 

原创 C++知識體系框圖