[zeromq-dev] Porting libzmq to C++17

Jens Auer jens.auer at betaversion.net
Mon May 22 21:01:33 CEST 2017



I don’t think it is just syntactic sugar, even if the changes are not what I was hoping for. Inline variables and guaranteed copy elision are semantic changes, so there are some non-syntactic features. Most changes are small, but I think they will have significant impact on the way that modern C++ is written. I am thinking especially of structured bindings and the template deduction of constructors. The constructor deduction will eliminate a ton of basically useless helper methods like make_pair, so I welcome this sugar very much. Things like the new if with initializers and if constexpr make C++17 just easier to write and read. Also, the new library has nice additions like std::optional or std::string_view, although array_view is missing. It has also parallel STL algorithms and the iterator hierarchy contains contiguous iterators, which are nice for system-programming. My favorite additions is std::byte. Finally we can stop to use chars as bytes.


I would really go for the latest standard, even if there are some bugs in the compiler or libraries. Given the expected time for a re-write or fork, there should be enough time to stabilize.





Von: zeromq-dev [mailto:zeromq-dev-bounces at lists.zeromq.org] Im Auftrag von Marcin Romaszewicz
Gesendet: Montag, 22. Mai 2017 20:00
An: ZeroMQ development list
Betreff: Re: [zeromq-dev] Porting libzmq to C++17


Why? C++17 is syntactic sugar on top of older versions of C++. C++17 won't give you more performance or better code, just easier to read. There are still lots of old devices which only have C++98 support, which is probably the most widely adopted C++ standard.


A C++17 wrapper API which is optional around the older library would be very nice for end users, though.


On Sun, May 21, 2017 at 3:11 AM, Bela Berde <bela.berde at gmail.com> wrote:

It is not clear to me. There are still bugs and, of course, GCC is evolving.
There should be, however, a concret action in porting zeromq to C++ 17, and at least on Ubuntu.
Is there an initiative already put in place ?

Sent from my iPhone
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20170522/4a601619/attachment.htm>

More information about the zeromq-dev mailing list