3
我正在涉足一個項目的C++世界,並且花費了大量時間與C#和C++/CX中的新東西之間,我有點生疏。什麼時候應該在C++/CX中使用ref類?
何時適合使用C++/CX中引入的ref class
類型?
內置的引用計數句柄看起來不錯,似乎是儘可能使用ref類(不考慮可移植性問題)的一個很好的理由。但是,我不確定這些類型是否會增加額外的開銷?或者如果還有其他原因限制它的使用?
我正在涉足一個項目的C++世界,並且花費了大量時間與C#和C++/CX中的新東西之間,我有點生疏。什麼時候應該在C++/CX中使用ref類?
何時適合使用C++/CX中引入的ref class
類型?
內置的引用計數句柄看起來不錯,似乎是儘可能使用ref類(不考慮可移植性問題)的一個很好的理由。但是,我不確定這些類型是否會增加額外的開銷?或者如果還有其他原因限制它的使用?
請記住,C++/CX是一種語言擴展,可以輕鬆處理WinRT類型。當您想讓您的類型可以使用其他語言(如Javascript或C#)時,您只需聲明自己的ref類別。換句話說,當你創建一個WinRT組件。
對於其他所有應該是絕大多數代碼的應用程序,請使用標準C++ 11語法和常用的主要C++標準庫類。聲明一個你不暴露給其他語言的ref類只會產生不必要的開銷。
謝謝,好像很好的建議!我現在正在閱讀ref class限制繼承,並在幕後添加了一些接口,如IDisposable。不確定是否還有其他影響性能的事情... – grimus 2013-03-04 06:07:50