I suggest you ...

Support C++11 features

Support C++11 features

4,585 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Алексей БегуновАлексей Бегунов shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
    AnonymousAnonymous shared a merged idea: Fully support the C++11 Standard  ·   · 
    Anonymous shared a merged idea: add c11 support (or at least c99). it is ridiculous for msvc not to support modern c.  ·   · 
    DardanDardan shared a merged idea: C99 and C++11 support, VC++ is terribly dissappointing at these points compared to the FREE and OPENSOURCE gcc.  ·   · 

    Update 1/2/2014:
    Support for C++11 began in Visual Studio 2010, which included auto and lambda functions. In Visual Studio 2012, we implemented more of the standard—for example, range-based for loops, standard threads, and futures. Visual Studio 2013 provides even more—variadic templates, delegating constructors, non-static data member initializers, uniform initialization, ‘using’ aliases, and other features.

    For more information, see the C++ Conformance Roadmap on Soma’s blog (http://blogs.msdn.com/b/somasegar/archive/2013/06/28/cpp-conformance-roadmap.aspx) , and learn about the Future of C++ from Herb Sutter (http://channel9.msdn.com/Events/Build/2013/2-306).

    Finally, this table summarizes conformance by feature, http://msdn.microsoft.com/en-us/library/hh567368.aspx.

    Thanks,
    Visual C++ Team (ebattali@Microsoft.com)

    98 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • Paul MPaul M commented  ·   ·  Flag as inappropriate

        How about allowing other compilers to easily be used in VS? That way we can just use g++ or clang and have all features rather than waiting years for CL to catch up.

      • Dwayne RobinsonDwayne Robinson commented  ·   ·  Flag as inappropriate

        sizeof(Class::member) still does not work in 2013 :(. It's minor, but useful.
        n2253 "Extending sizeof to apply to non-static data members without an object"

        Though, enjoying NSDMI, template typedefs, and initializer lists!

      • Mark SlaterMark Slater commented  ·   ·  Flag as inappropriate

        While the efforts of the visual studio team should not be dismissed, the fact is that GCC and CLANG are both significantly more standards compliant that Visual Studio 2013. I applaud your efforts to date, but you are still playing catch up. When will we see alignment (see Simon Dan's comment below)? user-defined literals? constexpr? attributes? unicode support (as defined by the C++11 standard - not the windows api version)? The list goes on....

      • AnonymousAnonymous commented  ·   ·  Flag as inappropriate

        Re fake votes, That's not true. People vote a lot on uservoice without commenting. Also you have to remember that each person is allowed to make several votes, not just one. Given that it's C++11 I'm not at all surprised this has so many votes.

      • Simon DanSimon Dan commented  ·   ·  Flag as inappropriate

        Please add full support of the C++11 alignment. The extensional '__alignof' and '__declspec(align(#))' is too crude. Moreover, those non-std extensions are also without any deduction mechanism as the standard alighof/alignas.
        I wanted to get
        struct C{int a;};

        struct A
        {
        char c1;
        alignas(alignof(C)) char c2[sizeof(C)];
        };

        but with the MSVC, i suppose to do:

        struct A
        {
        char c1;
        __declspec(align(__alignof(C))) char c2[sizeof(C)];
        };

        it just yield compiling error, and the following is just useless:

        struct A
        {
        char c1;
        __declspec(align(4)) char c2[sizeof(C)];
        };

        you can get __alignof(C), you can use __declspec(align(4)), but you can't use __declspec(align(__alignof(C))).
        It's just precompiling-time alignments, So it can't be used in template deduction.

      • Máté Ferenc Nagy-EgriMáté Ferenc Nagy-Egri commented  ·   ·  Flag as inappropriate

        I would like to join Noel on the inquiry. Clang and gcc are way ahead atm, which is strange taking into account that MS has stated multiple times, that they would like to shift from managed to native code, given the effort needed to maintain managed code.

        Some insight as to what the status is of the C++11 features inside the compiler, as well as the status of the STL lib update is going. Should developers expect all features being given to the public in 2 months time, or will it be 12 months time (which could still be far ahead of the 2 year VS release cycle thus far)

      • JoelJoel commented  ·   ·  Flag as inappropriate

        Has there been any news lately? I recall the CTP being released around 3 months ago.

        The feature list in it: http://blogs.msdn.com/b/xiangfan/archive/2012/11/03/november-ctp-of-visual-c-compiler-more-c-11-features.aspx

        I know that Mr. Sutter was supposed to announce more features in the first half of this year (which is by no means over yet or even close), but I'm interested in the progress and the evolution of what C++11 features will be going into the much-discussed but very hush-hush interim release of the compiler.

      • gremwellgremwell commented  ·   ·  Flag as inappropriate

        constexpr and deleted keyword please, glad to see you're making progress with vc_compilerCTPNov2012.exe

      • MarkMark commented  ·   ·  Flag as inappropriate

        Here are a few C++11 things I use regularly that would like VS Express for Desktop to support as currently it won't compile my codebase.

        1. Support for 32-bit unicode string literals. eg. U"This is a string".
        2. Support for constexpr for simple constants - eg. constexpr int FOO = 12;
        3. The new typesafe enumerations.

        Otherwise, thanks for a great free tool!

        Cheers,
        Mark.

      ← Previous 1 3 4 5

      Feedback and Knowledge Base