上次我以為 ^ 和 gcnew 是MS 自創的,結果是我自己太孤陋寡聞...
有個新的東西叫 Managed C++,但是語法和C++差異太大,所以又有Managed C++ Extension和C++/CLI ,讓Managed C++繼續有C++的語法。
這兩個東西 :^ 和gcnew 就是C++/CLI的語法。
gcnew和 以前的new類似,但是gcnew 是managed,也就是說,有類似 java 的garbage collection,不用programmer操心什麼時候要delect。
為了和new出來的object有所區別,gcnew 出來的object reference就用 ^ 代替 *。
google了一下,出現了一堆... Stan Lipman竟然離開BellLab進入MS了....實際上Managed C++,Managed C++ Extension和C++/CLI 甚至.NET 好多地方都混用...不知道真正的差異在哪...目前好像只有MS的compiler有支援C++/CLI,其他都沒有(gnu也沒有)....ECMA standard是free的...
Software Engineer的功課真是寫不完呀....Q__Q
Oreilly 這一篇文章有說明 Managed C++
沒有留言:
張貼留言