91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.Net Framework容器與STL有什么區別

發布時間:2021-06-17 14:57:24 來源:億速云 閱讀:168 作者:chen 欄目:編程語言

本篇內容介紹了“.Net Framework容器與STL有什么區別”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

.Net Framework開發環境為程序員們帶來了非常大的好處。在這里我們就先來了解一下.Net Framework容器與STL容器之間的比較。從中更進一步的對.Net Framework有一個深入的了解程度。

在.Net Framework容器和STL中有眾多的容器,為編程帶來了方便,我們就先對這兩種框架里的容器做了一個比較。

在STL中,主要有這么幾種:

Vector Deque List Set/Multiset Map/Multimap Stack Queue Bitset

在.Net Framework容器包含在System.Collections里,主要有這么幾種:

ArrayList BitArray Hashtable SortedList Queue Stack

這些結構中,有幾個是功能類似的,比如Vector和ArrayList,都是可自動調整容量的數組。Queue和Stack也是相同的。

.Net Framework容器與STL容器不同的有這么幾點:

1、.NET沒有Set和Map,只有Hashtable,而標準C++里是沒有Hashtable的,只有在具體實作中,有所涉及,比如說SGI STL里。

2、.NET有SortedList,這是Hashtable和Array的混合體,功能強大,可是實現Dictionary。

3、STL的Bitset是存儲位(bit)或布爾值且大小固定的數組,用于管理各種標志(flags)。

.Net Framework容器的BitArray僅存儲布爾值。

這兩個的實現和使用方式不同,但是主要用途卻是類似的,MSDN上的例子和《標準程序庫》的例子相當雷同。

關于容器的訪問方式

有了容器,就必須去訪問,才能運用。兩者的訪問原理類似,都是用一種特殊的對象去訪問。

⑴STL方式:使用迭代器(iterator),迭代器有許多種,每種容器都有自己的迭代器。但是使用迭代器的方式卻是相同的,這使得我們使用容器相當方便。
迭代器行為上類似于指針,內部封裝了對不同容器的操作。對我們隱藏了容器內部復雜的結構。

⑵.NET的方式頗為不同。類庫中有一個名為IEnumerable的接口,所有容器類都繼承實現了這個接口。它有一個公共方法:GetEnumerator()。因此所有容器都有這個方法,它返回可用于循環訪問集合的IEnumerator,這個IEnumerator類似于STL的迭代器。

使用實例:

  1. using System;   

  2. using System.Collections;   

  3.  

  4. public class ArrayListTest   

  5. {   

  6. public static void Main()   

  7. {   

  8. ArrayList alist=new ArrayList();   

  9. alist.Add(1);   

  10. alist.Add(2);   

  11. alist.Add(3);   

  12.  

  13. print(alist);   

  14. }   

  15. public static void print
    (IEnumerable myList)   

  16. {   

  17. System.Collections.IEnumerator 
    myEnum=myList.GetEnumerator();   

  18. while(myEnum.MoveNext())   

  19. {   

  20. Console.WriteLine(myEnum.Current);   

  21. }   

  22. }   

  23. }  

綜合起來看,.Net Framework容器和STL的容器類型相當齊全,都涉及了方方面面,只有細微差別。訪問方式從本質上說也是一致的。

“.Net Framework容器與STL有什么區別”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

stl
AI

聂荣县| 万州区| 明星| 阳城县| 土默特右旗| 华安县| 林州市| 和龙市| 图们市| 柯坪县| 武宁县| 台中市| 穆棱市| 云阳县| 泽库县| 林甸县| 兴化市| 新乡市| 乐业县| 郁南县| 马龙县| 美姑县| 正安县| 十堰市| 海阳市| 灵璧县| 普陀区| 南皮县| 威宁| 西充县| 肥城市| 邮箱| 措勤县| 颍上县| 岗巴县| 苍南县| 桂东县| 温宿县| 凌海市| 巴中市| 通道|