一、c++
1、智慧型指標(c++的記憶體管理)
智慧型指標:它的一種通用實現方法是採用引用計數的方法。智慧型指標將乙個計數器與類指向的物件相關聯,引用計數跟蹤共有多少個類物件共享同一指標。
每次建立類的新物件時,初始化指標並將引用計數置為1;
當物件作為另一物件的副本而建立時,拷貝建構函式拷貝指標並增加與之相應的引用計數;
對乙個物件進行賦值時,賦值操作符減少左運算元所指物件的引用計數(如果引用計數為減至0,則刪除物件),並增加右運算元所指物件的引用計數;這是因此左側的指標指向了右側指標所指向的物件,因此右指標所指向的物件的引用計數+1;
呼叫析構函式時,建構函式減少引用計數(如果引用計數減至0,則刪除基礎物件)。
實現智慧型指標有兩種經典策略:一是引入輔助類,二是使用控制代碼類
輔助類實現(c++ primer中):
# include using namespace std;
class u_ptr
~u_ptr()
};class hasptr
hasptr(const hasptr& orig) :
ptr(orig.ptr), val(orig.val)
hasptr& operator=(const hasptr&);
~hasptr()
int *get_ptr() const
int get_int() const
void set_ptr(int *p) const
void set_int(int i)
int get_ptr_val() const
void set_ptr_val(int i)
private:
u_ptr *ptr;
int val;
};hasptr& hasptr::operator =(const hasptr &rhs)
int main()
蘇寧殺入「菜場」,不斷豐富智慧型零售消費場景
2019年一開年,生鮮電商領域的卡位大戰,就已經延燒到了社群菜場。在蘇寧小店入局之前,美團 餓了麼 首農等巨頭早已紛紛上線 買菜 業務。不斷加劇的競爭,將推動行業格局發生深刻變化。1 美團 2 餓了麼口碑 3月30日,餐飲外賣領域裡的另乙個巨頭口碑餓了麼,也宣布於叮咚買菜達成戰略合作,將買菜業務推進...
ACM數論中相關定理(不斷更新)
費馬小定理是數論中的乙個重要定理,其內容為 假如p是質數,且 a,p 1,那麼 a p 1 1 mod p 即 假如a是整數,p是質數,且a,p互質,那麼a的 p 1 次方除以p的餘數恆等於1。費馬大定理,又被稱為 費馬最後的定理 由法國數學家費馬提出。它斷言當整數n 2時,關於x,y,z的方程 x...
c語言指標相關面試題
例1 int main int ptr int a 1 printf d d n a 1 ptr 1 system pause return 0 程式結果 2 5 分析 陣列名在sizeof內部單獨出現和 陣列名 這兩種情況下,陣列名表示整個陣列。其他情況下,陣列名均表示首元素的位址。所以這裡的 a...