Announcement

Collapse
No announcement yet.

C++20 Draft Approved As Major Update To C++ Programming Language

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • C++20 Draft Approved As Major Update To C++ Programming Language

    Phoronix: C++20 Draft Approved As Major Update To C++ Programming Language

    On Saturday the ISO/IEC 14882:2020 standards draft was approved as the latest major update to the C++ programming language...

    http://www.phoronix.com/scan.php?pag...Cpp20-Approved

  • #2
    Waiting for C++64 to come

    Comment


    • #3
      Great. As Linus has pointed out, great value of C++ is to keep lure morons away from kernel crowd.

      Comment


      • #4
        Code:
        <=>
        / \
        | |
        | |
        I'd like to propose the beam me up Scotty operator

        Comment


        • #5
          I only care about C++20 because apparently it can finally do away with the ancient legacy of splitting files into headers and source files.

          Comment


          • #6
            Looking forward to: Concepts, spaceships, designated initializers and not having to reinvent std::span in every codebase

            Still waiting for: Destructive move semantics (like Rust)

            Sceptical about: What modules will do to compilation speed. Will compilers treat everything as one compilation unit (as rustc 1.0 did)?
            Last edited by andreano; 09-06-2020, 11:01 AM.

            Comment


            • #7
              Could this language be any more of a mess: https://en.cppreference.com/w/cpp/memory/to_address

              Comment


              • #8
                Originally posted by increasechief View Post
                Could this language be any more of a mess: https://en.cppreference.com/w/cpp/memory/to_address
                I can guarantee many languages have complexities like this. C++ just happens to be popular enough and mature enough to document and standardise this kind of stuff.

                That said, if I ever saw a typical programmer using this in their code, it means they are doing something wrong.

                Originally posted by cl333r View Post
                I only care about C++20 because apparently it can finally do away with the ancient legacy of splitting files into headers and source files.
                It will look like a first year computing students assignment all over again
                /s

                There are benefits to both approaches. I just hope programmers don't just choose one and shoe horn it into every project where the other might have been more suitable. This does of course go both ways. So many developers still use C++98 style unsafe crap because they have simply not kept up (Looking at you Microsoft APIs... Please go to Rust, you simply cannot be trusted to use C or C++ correctly)
                Last edited by kpedersen; 09-06-2020, 11:30 AM.

                Comment


                • #9
                  Originally posted by cl333r View Post
                  I only care about C++20 because apparently it can finally do away with the ancient legacy of splitting files into headers and source files.
                  Do you really want to have the interface and implementation of a big class in the same place? How are you gonna read and understand the interface if you have to wade through a lot of implementation details in between?

                  That's why even modules support splitting them into different files, usually one for interface and one for implementation. The difference being the way they are handled by the compiler at the place of import. Apparently they incur much less overhead at the place of import when compared to header including.

                  Comment


                  • #10
                    The idea of "zero cost abstractions" in C++ is great. Too bad many of them turn out to not be zero cost at all in the actual implementations of the standard library. If you watch those "modern C++" conference videos on youtube, all is presented nice and dandy. "Use std::tuple, it's free!" Or "use std::unique_ptr, it's free!" Well, they're only "free" in some imaginary, theoretical implementation that doesn't exist :-/

                    Comment

                    Working...
                    X