我對類和結構的一點理解

2021-08-26 13:54:37 字數 708 閱讀 9110

1 首先說明一下到目前為止我掌握的一點點的知識。

a 類是引用型別。 可以自動以預設的構造的函式。

b 結構是值型別,所有的值型別都是基於結構型別的, 不可以自動以預設的建構函式。

c 類和結構進行比較的時候都是比較他們的引用,但是為什麼值型別進行比較的時候會認為他們是相同的,或者是不相同的那,這是因為值型別都是先了乙個介面tcompare 。這樣即使是兩個值型別的位址空間不一樣,也不會認為他們是相同的,而是相同的,應該是實現了兩個介面,另外乙個介面是什麼,有時間進行研究一下。

對字段的初始值有乙個簡便的語法支援,類是支援的,而結構是不支援的。 struct structstu }d 什麼情況下使用結構

和簡單值型別具有相似的行為。 所有的簡單值型別都是基於結構型別的。

資料成員大小在16kb一下。 因為結構的記憶體是分配在棧上的,如果頻繁使用的話,會導致資料被大量的複製。

不需要特別的初始化操作。 這是因為結構不提供預設的建構函式。

f 結構是一種輕量級的資料封裝結構。

本人的疑惑點 :

結構分配到堆上,和分配到棧上有啥區別 ?

棧 是系統分配的,先進後出的原這。位址是連續的,效率比較快。

堆 是程式設計師分配的,位址不連續,效率比較慢。

綜上所述, : 結構是乙個特殊的型別,沒有理解清楚的情況下,少用,否則會帶來程式資源的極大浪費,以及計算效率的低下。

以後有時間了 寫乙個結構的專題吧!

我對adaboost的一點理解

我理解的adaboost演算法 由程式反觀演算法 容易在介紹adaboost 演算法的文章中找到其演算法流程 我的疑問 1 第三步如何根據訓練資料訓練弱分類器?弱分類器的個數由什麼定,特徵維 數?2 第四步那個公式什麼意思?3 第七步如何歸一化?4 第八步怎麼理解?很多文章是這樣來介紹adaboos...

我對補碼的一點理解

剛剛學習c語言,接觸補碼時,有些不解,計算機為什麼要把減法變成加法來運算呢 一步到位,處理速度不更快麼?後來查了資料才知道,這與計算機本身的計算結構有關,減法變加法,物理方面更容易實現。但補碼是怎樣把減法便加法的呢?本人思考了一下,有如下心得 我們先來看一道題 59 18 47 就是 0011 10...

我對stl和GP的一點理解

什麼是stl?什麼是template?其實之所以要有stl,要有gp,那是因為對於一些不同型別的資料,他們常常有一些相同的操作,比如同一型別的兩個資料之間相加,相減。而我們常常對不同型別的資料又會有一些相同的操作的過程,或者我喜歡稱為有順序的一組操作集合,這個過程中,除了物件的型別不一樣,其他的都一...