<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%E4%BB%A3%E7%AE%A1%E6%93%B4%E5%85%85</id>
	<title>C++代管擴充 - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.taigi.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B%E4%BB%A3%E7%AE%A1%E6%93%B4%E5%85%85"/>
	<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=C%2B%2B%E4%BB%A3%E7%AE%A1%E6%93%B4%E5%85%85&amp;action=history"/>
	<updated>2026-05-22T07:49:15Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.taigi.ima.org.tw/w/index.php?title=C%2B%2B%E4%BB%A3%E7%AE%A1%E6%93%B4%E5%85%85&amp;diff=407564&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.taigi.ima.org.tw/w/index.php?title=C%2B%2B%E4%BB%A3%E7%AE%A1%E6%93%B4%E5%85%85&amp;diff=407564&amp;oldid=prev"/>
		<updated>2025-08-22T11:18:16Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;C + + 代管擴充&amp;#039;&amp;#039;&amp;#039;（Managed Extensions for C + +）是嘿 C + + 的一个屬性佮關鍵字的擴充，往過在微軟公司 . NET Framework 進行編程。伊嘛定定予人叫代管 C + +。二空空二年由微軟仔發布。&lt;br /&gt;
&lt;br /&gt;
_ 注意：C + + 代管擴充自 Visual C + + 兩千空五起被一个新的語言規範，當咧標準化的 C + + / CLI 所取代。_&lt;br /&gt;
&lt;br /&gt;
代管 C + + 毋是獨立存在的程式語言，干焦是微軟著 C + + 的一个語法擴充，容允 C + + 程式設計師佇咧 . NET 框架佮 CLR 的基礎頂面進行代管編程。佮 C # 和 Visual Basic . NET 相比並，其主要優點是舊代碼會當較緊徙栽去新的平台頂，而且嘛算無完全重寫代碼，嘛會當通過互操作佇仝一个模組中無縫整合代管佮非代管代碼，對新的 . Net 框架內底利純。&lt;br /&gt;
&lt;br /&gt;
. Net 框架封裝大量的 API，譬如講網路存取、字串操作、資料的存取、XML 服務、圖形介面控制項庫、郵件服務、加密服務、檔案輸入／輸出，甚至講 WMI 管理，嘛會當予𪜶應用程式員會當編寫閣較簡潔的代碼。這陣只有代管 C + + 佮其後的繼者 C + + / CLI 會當做甲無縫整合代管佮非代管代碼，佇咧受控代碼內底呼叫 COM 的速度又閣相當慢，所以定定予人用佇其他的語言佮非受控代碼之間的橋梁。&lt;br /&gt;
&lt;br /&gt;
代管 C + + 允准程式設計師編寫受控代碼，記持體管理的工課這馬會當予 CLR 去自動處理，存取的時陣嘛增加著型別檢查，減少了來緩衝區溢位佮記持體流失的危險，增加程式的穩定性，但是佇效能敏感的應用中，龐大的 . NET 框架閣慢慢的自動記憶體管理並毋是必要的，傳統是非受著控代碼猶原是一寡人的首選。&lt;br /&gt;
&lt;br /&gt;
佇咧物件導向程式設計方面，主要的變化是對偌重繼承的限制，這是因為 CLR 的限制佮記憶體管理的需要。一个代管類袂當加繼承基礎類別。同時，類屬性佮微軟中央語言（MSIL）的引入嘛予代管類會當佇其他的語言內底使用佮繼承。&lt;br /&gt;
&lt;br /&gt;
佮這个同時，代管 C + + 引入大量的關鍵字佮語意轉換，減少了代碼的通讀性佮明確性。欠缺佇足濟語言內底攏支援的泛型佮 for each 語句嘛加其他的語言的程式設計師轉向代管 C + + 的困難。佇其後繼者 C + + / CLI 中泛型和 for each 語句才來予人支援。&lt;br /&gt;
&lt;br /&gt;
==Managed C + + 的重大改變==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;以下列出物件導向程式設計佮 unmanaged C + + 之間的差異性。&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* ( Global change ) Existing C + + to be ported over the CLR must be appended with the following :&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
/ / hello . cpp&lt;br /&gt;
&lt;br /&gt;
/ / new using directive&lt;br /&gt;
# using &amp;lt; mscorlib . dll &amp;gt;&lt;br /&gt;
&lt;br /&gt;
/ / another using namespace directive .&lt;br /&gt;
using namespace System ;&lt;br /&gt;
&lt;br /&gt;
int main ( ) {&lt;br /&gt;
Console : : WriteLine ( &amp;quot; Hello &amp;quot; ) ;&lt;br /&gt;
return 零 ;&lt;br /&gt;
}&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
一个新的前置處理引𤆬（preprocessor directive）&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
# using &amp;lt; mscorlib . dll &amp;gt;&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
這是必須的。此外 # using directives 著愛用 namespace 的方法來 import 閣較濟的函式庫（libraries）， 像講 Base Class Library，比如講：&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
# using &amp;lt; System . Windows . Forms . dll &amp;gt;&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
以及&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
using namespace System : : Windows : : Forms ;&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
來使用 Windows Forms。&lt;br /&gt;
&lt;br /&gt;
* To compile code to target the CLR , a new compiler option must be introduced .&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
cl . exe hello . cpp / clr&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
/ clr enables any code referencing the . NET Framework to be compiled as CIL。&lt;br /&gt;
&lt;br /&gt;
* A class can be designated to be garbage collected via the ` _ _ gc ` extension keyword .&lt;br /&gt;
&lt;br /&gt;
` ` `&lt;br /&gt;
/ / gc . cpp&lt;br /&gt;
&lt;br /&gt;
# using &amp;lt; mscorlib . dll &amp;gt;&lt;br /&gt;
&lt;br /&gt;
_ _ gc class gc {&lt;br /&gt;
int * i ;&lt;br /&gt;
char * g ;&lt;br /&gt;
float * j ;&lt;br /&gt;
} ;&lt;br /&gt;
&lt;br /&gt;
int main ( ) {&lt;br /&gt;
while ( true ) {&lt;br /&gt;
gc * _ gc=new gc ( ) ;&lt;br /&gt;
}&lt;br /&gt;
return 零 ;&lt;br /&gt;
}&lt;br /&gt;
` ` `&lt;br /&gt;
&lt;br /&gt;
===比較 Managed C + +===&lt;br /&gt;
&lt;br /&gt;
以下列出 Managed C + + 佮其他的程式語言類似觀念的差別。&lt;br /&gt;
&lt;br /&gt;
====. . . to Java====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;缺點&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Java 差不多可支援所有的平台，而且 Managed C + + 干焦會當佇 Windows 抑是其他實作出 . NET Framework 的平台頂執行。&lt;br /&gt;
* Java 程式碼複雜度較細，而且閣會當閱讀，並提供有程式碼用檔案通來做參考。而且 Managed C + + 則沒有。_（C + + / CLI 佇咧 Visual C + + . NET 二千空五中已經有支援）_&lt;br /&gt;
* Java 有誠濟開發工具佮解決方案會當提供開發者利用，Managed C + + 干焦會當用啦 Visual Studio . NET。猶毋過，_ Managed C + + applications 可用免費的 Visual C + + Toolkit 二千空三編譯。_&lt;br /&gt;
* Java 的例外的機制是會當檢查的（checked）, Managed C + + 著愛檢查。( 根據程式無仝款這嘛有可能是一个優點 )&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;優點&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* Managed C + + 會當直接佮系統低階（low level）服務介面溝通，Java 程式員著愛使用 JNI ( Java Native Interface ) 佮系統誠低階服務溝通。_ ( 干焦限 Windows ) _&lt;br /&gt;
* Managed C + + 是無法度檢查例外，Java 會使檢查。. ( 根據程式無仝這嘛可能是缺點 )&lt;br /&gt;
&lt;br /&gt;
====. . . to C #====&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;缺點&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* 一如 Java , C # 較細複雜度較細。而且 C # 會當直接共支援 . NET Framework。&lt;br /&gt;
* C # 支援指標（pointers）， 如同 C + +，這个機制預設是關掉的。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* C + + 代管擴充語言規範（MSDN）&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>