See the question and my original answer on StackOverflow

I suggest you have a look at the presentation here: Using the Windows Runtime from C++ and especially at the comments from Herb Sutter. I quote:

Please answer this question: If I decide to write C++ GUI application in Metro style am I forced to use all these proprietary ref, sealed, ^, Platform::String^ extensions for GUI components or not?

@Tomas: No, you are not forced to use them. We are providing two supported ways:

1) These language extensions (C++/CX).

2) A C++ template library (WRL), see Windows Kits\8.0\Include\winrt\wrl as Yannick mentioned. WRL is a C++ library-based solution sort of along the lines of ATL, which offers what I think you're looking for -- template wrapper/convenience classes and explicit smart pointers and such.