久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團(tuán)論壇開發(fā)語言培訓(xùn)專區(qū)C++語言開發(fā) → C++:最強(qiáng)大的.NET語言之內(nèi)存與資源


  共有7583人關(guān)注過本帖樹形打印

主題:C++:最強(qiáng)大的.NET語言之內(nèi)存與資源

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個(gè)性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發(fā)短信
等級(jí):青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
C++:最強(qiáng)大的.NET語言之內(nèi)存與資源  發(fā)帖心情 Post By:2010-12-10 15:10:38

IT168技術(shù)文檔】

    當(dāng)運(yùn)行環(huán)境中包含垃圾回收機(jī)制時(shí),區(qū)別開內(nèi)存管理和資源管理,就非常重要了。典型地來說,垃圾回收器只對包含對象的內(nèi)存之分配與釋放感興趣,它可不關(guān)心你的對象是否擁有其他的資源,如數(shù)據(jù)庫連接或核心對象的句柄。

    內(nèi)存管理

    本地C++為程序員提供了超越內(nèi)存管理的直接控制能力,在堆棧上分配一個(gè)對象,意味著只有在進(jìn)入特定函數(shù)時(shí),才會(huì)為對象分配內(nèi)存,而當(dāng)函數(shù)返回或堆棧展開時(shí),內(nèi)存被釋放。可使用操作符new來動(dòng)態(tài)地為對象分配內(nèi)存,此時(shí)內(nèi)存分配在CRT堆中,并且需要程序員顯存地對對象指針使用操作符delete,才能釋放它。這種對內(nèi)存的精確控制,也是C++可用于編寫極度高效的程序的原因之一,但如果程序員不小心,這也是內(nèi)存泄漏的原因。另一方面,你不需要求助于垃圾回收器來避免內(nèi)存泄漏--實(shí)際上這是CLR所采取的方法,而且是一個(gè)非常有效的方法,當(dāng)然,對于垃圾回收堆,也有其他一些好處,如改進(jìn)的分配效率及引用位置相關(guān)的優(yōu)勢。所有這一切,都可以在C++中通過庫支持來實(shí)現(xiàn),但除此之處,CLR還提供了一個(gè)單一的內(nèi)存管理編程模型,其對所有的編程語言都是通用的,想一想與C++中COM自動(dòng)化對象相交互和調(diào)度數(shù)據(jù)類型所需做的一切工作,就會(huì)發(fā)現(xiàn)其重要意義所在--橫跨數(shù)種編程語言的垃圾回收器,作用是非常巨大的。

    為了效率,CLR也保留了堆棧的概念,以便值類型可在其上分配,但CLR也提供了一個(gè)newobj中間語言指令,以在托管堆中分配一個(gè)對象,但此指令只在C#中對引用對象使用操作符new時(shí)提供。在CLR中,沒有與C++中的delete操作符對應(yīng)的函數(shù),當(dāng)應(yīng)用程序不再引用某對象時(shí),分配的內(nèi)存最后將由垃圾回收器回收。

    當(dāng)操作符new應(yīng)用于引用類型時(shí),托管C++也會(huì)生成newobj指令,當(dāng)然,對此使用delete操作符是不合法的。這確實(shí)是一個(gè)矛盾,但同時(shí)也證明了為什么用C++指針概念來表示一個(gè)引用類型不是一個(gè)好的做法。

    在內(nèi)存管理方面,除了上述在對象構(gòu)造一節(jié)討論過的內(nèi)容,C++/CLI沒有提供任何新的東西;資源管理,才是C++/CLI的拿手好戲。

    資源管理

    CLR只有在資源管理方面,才能勝過本地C++。Bjarne Stroustrup的"資源獲取即初始化"的技術(shù)觀點(diǎn),基本定義了資源類型的模式,即類的構(gòu)造函數(shù)獲取資源,析構(gòu)函數(shù)釋放資源。這些類型是被當(dāng)作堆棧上的局部對象,或復(fù)雜類型中的成員,其析構(gòu)函數(shù)自動(dòng)釋放先前分配的資源。一如Stroustrup所言"對垃圾回收機(jī)制來說,C++是最好的語言,主要是因?yàn)樗珊苌俚睦?

    也許有一點(diǎn)令人驚訝,CLR并沒有對資源管理提供任何顯式運(yùn)行時(shí)支持,CLR不支持類似析構(gòu)函數(shù)的C++概念,而是在 .NET Framework中,把資源管理這種模式,提升到一個(gè)IDisposable核心接口類型的中心位置。這種想法源自包裝資源的類型,理應(yīng)實(shí)現(xiàn)此接口的單一Dispose方法,以便調(diào)用者在不再使用資源時(shí),可調(diào)用該方法。不必說,C++程序員會(huì)認(rèn)為這是時(shí)代的倒退,因?yàn)樗麄兞?xí)慣于編寫那些缺省狀態(tài)下清理就是正確的代碼。

    因?yàn)楸仨氁{(diào)用一個(gè)方法來釋放資源,由此帶來的問題是,現(xiàn)在更難編寫"全無異常"的代碼了。因?yàn)楫惓kS時(shí)都可能發(fā)生,你不可能只是簡單地在一段代碼后,放置一個(gè)對對象的Dispose方法的調(diào)用,這樣做的話,就必須要冒資源泄漏的風(fēng)險(xiǎn)。在C#中解決這個(gè)問題的辦法是,使用try-finally塊和using語句,在面對異常時(shí),可提供一個(gè)更可靠的辦法來調(diào)用Dispose方法。有時(shí),構(gòu)造函數(shù)也會(huì)使用這種方法,但一般的情況是,你必須要記住手工編寫它們,如果忘記了,生成的代碼可能會(huì)存在一個(gè)悄無聲息的錯(cuò)誤。對缺乏真正析構(gòu)函數(shù)的語言來說,是否需要try-finally塊和using語句,還有待論證。

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->using (SqlConnection connection = new SqlConnection("Database=master; Integrated Security=sspi")) ...{  SqlCommand command = connection.CreateCommand();  command.CommandText = "sp_databases";  command.CommandType = CommandType.StoredProcedure;  connection.Open();  using (SqlDataReader reader = command.ExecuteReader())  ...{   while (reader.Read())   ...{    Console.WriteLine(reader.GetString(0));   }  } }

    對托管C++來說,情節(jié)也非常類似,也需要使用一個(gè)try-finally語句,但其是Microsoft對C++的擴(kuò)展。雖然很容易編寫一個(gè)簡單的Using模板類來包裝GCHandle,并在模板類的析構(gòu)函數(shù)中調(diào)用托管對象的Dispose方法,但托管C++中依然沒有C# using語句的對等物。 

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->Using<SqlConnection> connection(new SqlConnection(S"Database=master; Integrated Security=sspi")); SqlCommand* command = connection->CreateCommand(); command->set_CommandText(S"sp_databases"); command->set_CommandType(CommandType::StoredProcedure); connection->Open(); Using<SqlDataReader> reader(command->ExecuteReader()); while (reader->Read()) ...{  Console::WriteLine(reader->GetString(0)); }

支持(0中立(0反對(0單帖管理 | 引用 | 回復(fù) 回到頂部

返回版面帖子列表

C++:最強(qiáng)大的.NET語言之內(nèi)存與資源








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
精品无人区一区二区三区| 99久久精品国产麻豆演员表| 中文字幕久久午夜不卡| 国产精品网站在线播放| 亚洲美女一区二区三区| 一区二区三区色| 免费亚洲电影在线| 国产二区国产一区在线观看| 不卡的电视剧免费网站有什么| 69堂成人精品视频免费| 国产欧美一区二区在线播放| 日本中文不卡| 7777精品伊人久久久大香线蕉超级流畅 | 一区二区三区欧美成人| 欧美日韩成人综合在线一区二区| 欧美tickle裸体挠脚心vk| 欧美国产乱子伦| 亚洲二区视频在线| 国产91在线观看| 精品欧美国产| 欧美性xxxxx极品少妇| 久久久久国产精品人| 亚洲亚洲精品在线观看| 国产成人亚洲综合a∨婷婷图片| 99国产盗摄| 91黄色免费看| 国产清纯白嫩初高生在线观看91| 亚洲一区免费在线观看| 国产成人在线色| 久久视频在线观看中文字幕| 色天使色偷偷av一区二区 | 亚洲第一在线综合网站| 国产成人精品网址| 日本视频一区在线观看| 精品久久一区二区三区| 图片区小说区区亚洲影院| av不卡一区二区三区| 色综合久久中文字幕| 亚洲国产精品av| 久久精品国产**网站演员| 国产精品国产精品国产专区蜜臀ah| 在线观看亚洲成人| 日韩美女视频一区二区| 丁香天五香天堂综合| 色综合久久久久| 综合久久国产九一剧情麻豆| 国产精品资源站在线| 亚洲国产一区二区三区在线播 | 在线视频一区二区免费| 成人免费在线视频| 成人福利视频在线| 在线观看亚洲成人| 一区二区三区在线观看欧美 | 久久综合中文色婷婷| 精品剧情在线观看| 麻豆国产欧美一区二区三区| 久久一区免费| 久久久亚洲高清| 国产高清在线观看免费不卡| 一区不卡字幕| 一区二区三区四区蜜桃 | 欧美性猛片xxxx免费看久爱| 亚洲人xxxx| 鬼打鬼之黄金道士1992林正英| 91精品国产91综合久久蜜臀| 日韩国产高清影视| 日韩免费一区二区三区| 亚洲欧美在线另类| av在线不卡观看| www日韩大片| 国产大陆a不卡| 欧美日韩三级一区| 免费人成黄页网站在线一区二区| 日本不卡久久| 亚洲美女偷拍久久| 久久资源av| 亚洲视频1区2区| 精品欧美一区二区三区久久久| 久久久久久久免费视频了| 成人精品视频网站| 日韩视频一区二区| 福利一区福利二区| 日韩免费视频线观看| 国产精品99久久久久| 欧美日韩国产不卡| 国产一区二区精品久久91| 欧美亚洲免费在线一区| 久久精品噜噜噜成人88aⅴ| 中文字幕一区二区三区在线乱码 | 国产在线不卡一区| 欧美亚洲动漫精品| 国产一区亚洲一区| 日韩一区二区影院| 成a人片亚洲日本久久| 26uuu国产在线精品一区二区| 成年人网站91| 久久日一线二线三线suv| 91丨九色丨蝌蚪丨老版| 国产欧美日韩在线| 蜜桃导航-精品导航| 一区二区激情小说| 永久免费精品视频网站| 久久精品国产精品亚洲红杏| 这里只有精品电影| 91色porny在线视频| 国产精品福利一区二区| 五月天丁香综合久久国产 | 九色91国产| 一级女性全黄久久生活片免费| 亚洲看片网站| 国产精品自拍av| 国产无一区二区| 欧美一区二区在线视频观看| 日韩精品一二三| 日韩天堂在线观看| 国产精品一区二区欧美黑人喷潮水| 亚洲天堂精品视频| 在线日韩一区二区| 99久久国产综合色|国产精品| 国产精品久久久久久久久免费丝袜| 日本午夜精品一区二区三区| 久久国内精品自在自线400部| 日韩精品在线一区二区| 国产日韩欧美一区二区| 性久久久久久久久| 欧美一区二区三区免费观看视频| 91麻豆文化传媒在线观看| 亚洲精品乱码久久久久久黑人 | 三级一区在线视频先锋| 欧美日本免费一区二区三区| 99久久精品一区二区| 亚洲激情综合网| 欧美日韩国产bt| 成人情视频高清免费观看电影| 亚洲一区二区精品3399| 欧美午夜在线观看| 国产成人精品日本亚洲11| 亚洲成人av免费| 精品粉嫩aⅴ一区二区三区四区| 欧美久久综合性欧美| 国产自产2019最新不卡| 成人免费在线观看入口| 欧美精品xxxxbbbb| 品久久久久久久久久96高清| 懂色一区二区三区免费观看 | 不卡一区中文字幕| 亚洲国产中文字幕| 久久综合国产精品| 中文字幕日韩一区二区三区不卡| 91亚洲男人天堂| 蜜乳av一区二区三区| 中文字幕五月欧美| 欧美一级理论片| 日韩精品资源| 91精品国产高清久久久久久91裸体| 日韩av电影免费观看高清完整版 | 日韩欧美在线观看一区二区三区| 日韩高清国产精品| 91玉足脚交白嫩脚丫在线播放| 视频一区视频二区中文| 中文字幕av不卡| 在线不卡a资源高清| 亚洲不卡1区| 国产亚洲精品久久飘花| 国产精品996| 蜜乳av一区二区三区| 亚洲乱码国产乱码精品精小说| 亚洲精品一区二区三区99| 91国偷自产一区二区使用方法| 美女被啪啪一区二区| 91麻豆福利精品推荐| 国产一区二区三区在线观看免费视频| 一区二区三区精品在线观看| 国产欧美一区二区精品仙草咪| 777奇米四色成人影色区| 中文字幕av日韩精品| 鲁鲁视频www一区二区| 91免费国产在线| 成人永久免费视频| 韩国三级电影一区二区| 日韩 欧美一区二区三区| 樱花草国产18久久久久| 国产精品伦理一区二区| 久久久欧美精品sm网站| 欧美一级欧美三级| 欧美日韩精品二区第二页| 自拍偷拍99| 视频一区视频二区视频三区视频四区国产 | 日本道精品一区二区三区| 欧美xxxx黑人又粗又长密月| 91视频免费进入| 成人久久18免费网站麻豆| 国产精品系列在线观看| 国产在线一区观看| 久久99在线观看| 精品一区二区在线视频| 久久99精品久久久久婷婷| 蜜芽一区二区三区| 蜜桃久久精品一区二区| 久久精品99国产精品|