Microsoft (başlıca Herb Herbter ) , WinRT'yi uygulamanın sınırlarında tutmak ve standart ISO C ++ ile yazılmış uygulamanın çekirdeğini tutmak için WinRT'yi C ++ / CX ile kullanmanızı önerir.
Taşınabilir bırakmak istediğim bir uygulama yazıyorum, bu yüzden temel işlevselliğim standart C ++ ile yazılmış ve şimdi C ++ / CX kullanarak bunun için Metro tarzı bir ön uç yazmaya çalışıyorum. Ancak bu yaklaşımla ilgili bir sorun yaşadım. Örneğin, kullanıcı tanımlı C ++ türlerinin bir vektörünü XAML ListView denetimine iletmek istiyorsam, kullanıcı tanımlı türümü bir WinRT ref / değer türünde a Vector^
. Bu yaklaşımla, kaçınılmaz olarak C ++ sınıflarımın büyük bir bölümünü WinRT sınıflarıyla sarmakla kaldım.
Bu ilk kez C ++ taşınabilir bir yerel uygulama yazmaya çalıştım. WinRT'yi böyle sınırlar boyunca tutmak gerçekten pratik mi? Platforma özgü bir sınıra sahip bu tür taşınabilir çekirdek başka nasıl ele alınabilir?