C 指標「計數器」

2021-09-29 16:27:33 字數 732 閱讀 7117

首先我們區分一下:

int nun = 0;和int *pointer = new int(0);

表面上看都是乙個整數0,但是實際上num是「獨佔」的,pointer不是,也就是如果我們讓int j = num,j就是乙個和num沒關係的數了,而如果我們讓int *i = pointer;就會不太一樣。i和pointer是一起變化的。如果我們執行了delete pointer,那麼i也指向空了

我們可以利用這個原理做乙個「計數器」來保護類的不同拷貝的指標。我們用m-num做計數器,在拷貝建構函式裡面自增,賦值運算子增加右面的物件的值,減少左面的物件的值。析構函式中減少。如果減為0就意味著沒有指標指向這個類的s資料了,就可以安全的釋放了。

class hasptx

m_num(new size_t(1)) {}

~hasptx()

hasptx(const hasptx& a) :

i(a.i),

s(a.s) {}

m_num(a.m_num)

hasptx& operator=(const hasptx& k)

s = k.s;

i = k.i;

m_num = k.m_num;

return *this;

}private:

int i;

string *s;

size_t* m_num;

};

計數器 智慧型計數器簡介

計數器主要是應用於電子科技領域,計數器是一種運用得比較多的時序邏輯電路。計數器可以對數字進行運算,它是一種沒有辦法顯示計算結果的顯示器。隨著電子科技的不斷發展,現在的計數器也實現了智慧型功能。智慧型計數器的出現幫助我們實現了很多高強度生產問題 複雜的技術問題,並且節約了生產成本和人力成本。智慧型計數...

c 跨平台計數器

main.cpp清單 include timemeasurement.h using namespace kagula include using namespace std title 跨平台計數器 author kagula date 2016 03 17 purpose 用來測試程式的時間效能...

C 程式設計練習 計數器

description 下面是乙個計數器類的定義,請完成該類的實現,並在 main 函式中演示該類 的應用。class counter 在main 函式裡初始化,讓計數器曾加n 鍵盤輸入 自減一,最後輸出計算器的結果。sample input 18 sample output 6 參考 includ...