Updates to my trip report

(this is an echo of what I also just posted on isocpp.org)

I wanted to add a few more things to my meeting trip report. I updated the trip report in-place, but for those who want to see the “diffs” I’ll also post just the new parts here as a standalone post:

There were 106 experts at this meeting, officially representing 7 nations. This meeting saw a recent-record number of papers, including over 120 in the pre-meeting mailing.

In addition to the other things I mentioned, we also approved several other interesting changes, including the following highlights:

  • Adopted N4230, which allows nested namespace definitions like namespace A::B::C { } as a convenient shorthand for namespace A { namespace B { namespace C { } } }.
  • Adopted N3922, which fixes the most common pitfall with auto and {}, so that auto x{y}; now deduces the sane and expected thing, namely the type of y. Before this, it deduced initializer_list which was unfortunate and surprising. So, fixed.
  • Adopted N4086, which removes trigraphs. Yes, we removed something from C++… and something that was inherited from C! But wait, there’s more…
  • Adopted N4190, and actually removed (not just deprecated) several archaic things from the C++ standard library, including auto_ptr, bind1st/bind2nd, ptr_fun/mem_fun/mem_fun_ref, random_shuffle, and a few more. Those are now all removed from the draft C++17 standard library and will not be part of future portable C++.

We also did work and made progress on a lot of other proposals, including modules. See the pre-meeting mailing for details about papers considered at this meeting.

7 thoughts on “Updates to my trip report

  1. That nested namespace shorthand is great :). On the other hand, it might encourage more use of nested namespaces, and that makes me sad :(

    Even better to see legacy things removed. I’d love to see things like C-style casts emit a warning as part of the standard. You’d suppress the warning in old translation units, but at least it’d discourage use in new code and for new programmers.

  2. Great. I’m very curious to know what people at IBM have to say about trigraphs removal, they’ve been supporting the EBCDIC world for ages now. I would be happy to see N3920/39 adopted (shared_ptr/make_shared support for arrays) just for consistency with the unique- counterparts (well, I have first seen a good use for them when I had to interface to other people’s code known to return an array).

  3. Though C++ is on top and they mention C++11, the following makes me think the might actually have been doing C: “Our C++ code does not use any specific C++ features such as objects.” If so, I wouldn’t be surprised if a real C++11 version were faster still.

  4. Hi,

    Do you know any C++ free graphic library cross-platform? I know that at a C++ con you were talking about some C++ graphic library which are very easy to use. Is any of those libraries free? I remember showing a small presentation with planets made in 3D and everything was made by someone from an Arts College.

    Do you know any C++ free cross-platform libraries for Arduino? I want to buy one and play with it.

    I don’t work as a programmer and my C++ knowledge are not that big but I remained programming in C++. I tried Java or C# but my only love remained C++. I would like to improve my C++ skills (which are almost null) but I really don’t have any ideas of programs I can try to build. I mean I saw those presentations at a C++ con and I was like: this is the same C++ I use? :p Still I work in an area related with programming: I’m a automotive software tester.

Comments are closed.