成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C++托管到底是什么

開發 后端
C++托管的使用,就意味著我們可以通過CLR來管理我們的代碼,進行自動操作,來幫助我們大大提高程序開發效率。

C++編程語言從發展至今已經歷經20年之久,我們在下面首先介紹了這一編程語言的基本概念以及構成。在大家了解完這些內容后,我們會進入近體那的主題,那就是為大家介紹什么事C++托管?#t#

C++這個詞在中國大陸的程序員圈子中通常被讀做“C加加”,而西方的程序員通常讀做“C plus plus”,“CPP”。 它是一種使用非常廣泛的計算機編程語言。C++是一種靜態數據類型檢查的,支持多重編程范式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、制作圖標等等泛型程序設計等多種程序設計風格。

根據Effective C++第三版第一條款的描述,現在C++由以下四個“子語言”組成:

1、C子語言。C++支持C語言的幾乎全部功能,在語法上與C語言僅有極微妙的差別(如括號表達式的左右值性,具體請參考C++標準文獻)。

2、面向對象的C++。C++首先作為一門面向對象的語言而聞名,這個特點在這里不再詳述。

3、泛型編程語言。C++強大(但容易失控的)模板功能使它能在編譯期完成許多工作,從而大大提高運行期效率。

4、STL(C++標準模板庫)。隨著STL的不斷發展,它已經逐漸成為C++程序設計中不可或缺的部分,其效率可能比一般的naive代碼低些,但是其安全性與規范性使它大受歡迎。

在回答這個問題,首先要搞清楚什么是“托管”(Managed)。托管是.NET的一個專門概念,它是融于通用語言運行時(CLR)中的一種新的編程理念,因此我們完全可以把“托管”視為“.NET”。那么什么是“通用語言運行時”?通用語言運行時是.NET 框架應用程序的執行引摯。它提供了許多服務,其中包括:代碼管理(裝入和執行)、類型安全性驗證、元數據(高級類型信息)訪問、為管理對象管理內存、管理代碼,COM對象和預生成的DLLs(非管理代碼和數據)的交互操作性、對開發人員服務的支持等等。

也就是說,使用C++托管意味著,我們的代碼可以被CLR所管理,并能開發出具有最新特性如垃圾自動收集、程序間相互訪問等的.NET框架應用程序。

由托管概念所引發的C++應用程序包括托管代碼、托管數據和托管類三個組成部分。

(1) 托管代碼:.Net環境提供了許多核心的運行(RUNTIME)服務,比如異常處理和安全策略。為了能使用這些服務,必須要給運行環境提供一些信息代碼(元數據),這種代碼就是托管代碼。所有的C#、VB.NET、JScript.NET默認時都是托管的,但Visual C++默認時不是托管的,必須在編譯器中使用命令行選項(/CLR)才能產生托管代碼。

(2) 托管數據:與托管代碼密切相關的是托管數據。托管數據是由公共語言運行的垃圾回收器進行分配和釋放的數據。默認情況下,C#、Visual Basic 和 JScript.NET 數據是托管數據。不過,通過使用特殊的關鍵字,C# 數據可以被標記為非托管數據。Visual C++數據在默認情況下是非托管數據,即使在使用 /CLR 開關時也不是托管的。

(3) 托管類:盡管Visual C++數據在默認情況下是非托管數據,但是在使用C++托管擴展時,可以使用“__gc”關鍵字將類標記為托管類。就像該名稱所顯示的那樣,它表示類實例的內存由垃圾回收器管理。另外,一個托管類也完全可以成為 .NET 框架的成員,由此可以帶來的好處是,它可以與其他語言編寫的類正確地進行相互操作,如托管的C++類可以從Visual Basic類繼承等。但同時也有一些限制,如托管類只能從一個基類繼承等。需要說明的是,在C++托管應用程序中既可使用托管類也可以使用非托管類。這里的非托管類不是指標準C++類,而是使用托管C++語言中的__nogc關鍵字的類。

責任編輯:曹凱 來源: 博客園
相關推薦

2017-10-11 08:51:13

2020-10-14 06:22:14

UWB技術感知

2020-09-27 06:53:57

MavenCDNwrapper

2020-09-22 08:22:28

快充

2010-11-01 01:25:36

Windows NT

2011-04-27 09:30:48

企業架構

2021-01-21 21:24:34

DevOps開發工具

2023-07-12 15:32:49

人工智能AI

2021-07-07 05:07:15

JDKIterator迭代器

2024-02-04 00:01:00

云原生技術容器

2021-09-01 23:29:37

Golang語言gRPC

2021-02-05 10:03:31

區塊鏈技術智能

2022-10-08 00:00:00

Spring數據庫項目

2020-03-05 10:28:19

MySQLMRR磁盤讀

2013-06-09 09:47:31

.NetPDBPDB文件

2010-04-22 14:14:29

Live-USB

2019-10-30 10:13:15

區塊鏈技術支付寶

2021-09-03 09:12:09

Linux中斷軟件

2020-08-04 14:20:20

數據湖Hadoop數據倉庫

2024-07-03 12:04:42

C++this?
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧洲视频 | 免费骚视频 | 成人小视频在线观看 | 国产日韩免费视频 | 999热视频 | 99热精品久久 | 日本高清视频在线播放 | 国产成人在线一区二区 | www.亚洲视频.com| 欧美中文字幕在线 | 韩国av影院 | 精品av | 欧美日产国产成人免费图片 | 国产999精品久久久影片官网 | 精品av| 成人在线视频一区 | av毛片 | 欧美日韩在线精品 | 亚洲精品中文字幕av | 日本综合在线观看 | 久久亚洲春色中文字幕久久久 | 毛片a级毛片免费播放100 | 夜夜夜久久久 | 国产视频福利一区 | 性一交一乱一伦视频免费观看 | 日韩精品1区2区3区 成人黄页在线观看 | 91精品国产综合久久久久蜜臀 | 国产成人精品久久二区二区91 | 欧美一区二区大片 | 一区二区在线不卡 | 国产精品国产三级国产aⅴ中文 | 在线观看视频h | 国产精品一区二区三区久久 | 精品亚洲一区二区 | 成人欧美 | 成人av一区| 99热精品在线观看 | 日韩中文字幕一区二区 | 久久精品国产亚洲 | 日韩在线不卡 | 天天操人人干 |