Soma announced availability of the Visual Studio 2013 Preview.
The experience for Visual C++ developers was improved with enhancements in the following areas: ISO C/C++ standards, Visual C++ library, C++ application performance, Windows Store App development, diagnostics, 3-D graphics, the IDE and productivity.
Here are the key links:
We look forward to your feedback. Use the new Send-a-Smile option in the product to share general thoughts about your experience.
Keep an eye on Channel 9!
On the XP support, what I really hoped is to target XP using the normal toolset, as it contains the Win8 SDK headers needed for Metro support in Firefox.
Alessio T: VS 2013 Preview fully supports explicit conversion operators, and the STL has been converted to use explicit operator bool() everywhere mandated by the Standard. By the way, trailing return types were implemented back in VS 2010.
The What's New link for C++ still doesn't work.
"MFC MBCS Library. This library is no longer included in Visual Studio because Unicode is so popular and use of MBCS is significantly reduced."
Will the MBCS library ever be permanently removed or will it remain relegated to "separate download for devs that have an intense hatred for people that don't speak English"?
(And "intense hatred" was meant sarcastically/self-deprecatingly, I don't actually hate non-English speaking people.)
"<random> now strictly enforces its compile-time preconditions."
Is there a reason why char (and the signed and unsigned variants, and wchar_t, char16_t, char32_t) isn't inty enough for uniform_int_distribution? Just a miss? Everything in my very brief reading of n3690 seems like they should be allowed, but I'm possibly missing something.
I guess technically bool, too, since it is classified as an integral type.
It's easy enough to work around, but I dislike inserting casts if they seem unnecessary, as they do in this case.
Michael: N3690 126.96.36.199 [rand.req.genl]/1: "Throughout this subclause 26.5, the effect of instantiating a template: [...] e) that has a template type parameter named IntType is undefined unless the corresponding template argument is cv-unqualified and is one of short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long.", 188.8.131.52.1 [rand.dist.uni.int]/1: "template<class IntType = int> class uniform_int_distribution". I am strictly enforcing this Standardese, which clearly forbids char. (Like you, I personally see no reason why char should be forbidden.)
@Stephan T. Lavavej - MSFT: thx, I used an old "bad" example. now it works.
I've posted the What's New topic as a blog post at blogs.msdn.com/.../what-s-new-for-visual-c-developers-in-vs2013-preview.aspx.
To those that have provided feedback, thank you. If you want to send comments directly to me, feel free to email firstname.lastname@example.org.
Thanks. Yup, I definitely missed something. (I think my thought process was "table 118 says D::result_type has to be an arithmetic type referring to 3.9.1, and template parameters just say "IntType", so obviously that means any of the Integral Types as defined in 3.9.1".) That's an unfortunate restriction. Time to go spelunking through the RNG papers. Hooray.
I'm glad to see the more aggressive release cycle. I hope the trend continues.
VS 2013 Preview works great! What is the difference between the Preview and the full version? I've installed the preview, so when the full version is available with the preview be updated automatically?
When is the full version expected to be finished?