Archive for the ‘Uncategorized’ Category

My CppCon talks

Also, my CppCon talks are all up on the CppCon YouTube channel. You can find them here:

I hope you find them useful.

Read Full Post »

New Interview

While we were both at CppCon last month and had cameras around, Brian Overland interviewed me for InformIT. The video just went up a couple of days ago. You can find it here.

If you’ve seen my interviews before, the first 14 minutes is stuff you’ve heard before, but I think you’ll find the last five minutes starting at 14:23 to be interesting new material.

Read Full Post »

CppCon was a blast. I can’t wait till next year.

But there’s something coming up sooner than that: In two weeks, Scott and Andrei and I will be holding the C++ and Beyond 2014 “Road Show” in Stuttgart, Germany.

The key to this event is not new material, but a new location. Whereas all other C&B’s have been in North America, this is the first time ever that Scott and Andrei and I are doing an event together in Europe. That’s exciting! (At least for us.) If you’ve been to C&B you will have seen most of this material before, but if you haven’t been able to get to C&B until now you may find it convenient to have the event be more local to European attendees. The talks are all talks we’ve given at C&B before, but there will be updates.

Scott seems to be looking forward to a debate with me about parameter passing. I’m glad he thinks I’m “seeing more reason than [I] used to, (i.e., having moved closer to [Scott's] point of view)” – by which he means that he has moved closer to my point of view. :) Should be fun! The boring truth, as I presented at CppCon on Friday, is that everyone agrees that the default parameter passing rules are the same as C++98… <gd&r> and let the games begin!

Read Full Post »

I just posted my CppCon trip report over at isocpp.org.

I’ll repeat just the last part here:

Huge thanks again to the 150+ speakers, planners, and volunteers without whom this wonderful “C++ festival” (as several people spontaneously called it) would not have been possible. I had guardedly high hopes for the event, but I think it exceeded all our expectations. This was the most exciting and enlightening week I’ve experienced in my 20 years of C++, and I’m still catching my breath. I can’t wait until September 2015.

Here are a few pics I and others took. You’ll find more on Twitter tagged #cppcon.

Mark Maimone of NASA and Mars Rover fame.

Bjarne taking questions after his talk.

“We’re sold out of A Tour of C++ again… how about this instead?” [photo credit: Artur Laksberg]

[photo credit: Artur Laksberg]

[photo credit: Artur Laksberg]

Walter Brown speaking in one of the six concurrent breakout sessions.

Jon Kalb speaking in one of the other rooms.

Possibly the youngest attendee? [photo credit: Artur Laksberg]

Accessibility and community.

Yup. Modern C++.

View from the CppCon balcony before diving into more evening sessions.

So long, Meydenbauer Center… see you next year! [photo credit: Hyrum Wright]

Read Full Post »

Tim just added this comment on the GotW #3 Solution blog post from last year:

Are you sure you can use auto in lambda like this?
I can not compile the code and I’m pretty sure auto does not work here.

If you mean auto as a lambda parameter type, such as

[](auto& s){ use(s); }

then yes, it’s (now) legal): That’s a new feature in currently-being-finalized C++14 standard, and it’s called “generic lambdas.” It means that the compiler-generated closure object’s


is a template, so you can call the same closure object multiple times with different types and get the templated operator stamped out for each set of types it’s called with.

Major compilers are now adding support for this. As of this writing, all of GCC, Clang, and Visual C++ have implemented the basic feature and you can get it in CTP/preview/alpha releases of each, such as GCC or Clang trunk, or Visual C++ November 2013 CTP. I can’t remember offhand which of those compilers have shipped an official release since adding it (VC++ has not) but they’ll all have it in their next released versions.

By the way, isn’t it wonderful that, for the first time in the history of C++, multiple major compilers are in pretty good sync like this, both with each other and with the standard? I think that’s awesome.

Read Full Post »

Google’s doodle today reminded me of Grace Hopper’s amazing contributions.

I enjoyed this 10-minute video, and you might as well: Grace Hopper on Letterman in 1986 on the occasion of her (final) retirement.

It’s not deep, but especially in the second half Amazing Grace demonstrates how to talk to a non-specialist audience. Good reminders for all of us who speak Geek Jargon a little too fluently!

Read Full Post »

At Build in June, we announced that VC++ 2013 RTM “later this year” would include the ISO conformance features in the June preview (explicit conversion operators, raw string literals, function template default arguments, delegating constructors, uniform initialization and initializer_lists, and variadic templates) plus also several more to be added between the Preview and the RTM: non-static data member initializers, =default, =delete, “using” aliases, and library support for same plus four C99 features.

Four days ago in my talk at GoingNative (recording was just posted today!), I updated that by saying we would ship an update to VC++ 2013 Preview with all of those features, and again a go-live license, “in September.”

Well, today is “in September”: Today we shipped Visual Studio 2013 RC, which includes all of those features in a production-supported go-live Visual C++ product. Thank you very much to everyone on the front-end, back-end, and other VC++ teams for making this possible! See that post for additional features – there’s more there than just conformance work, from new auto-vectorizer optimizations to graphics and native/Javascript debugging to quite a bit more.

What’s next? As announced last week we’re going to be shipping another CTP in the fourth quarter (compiler tech preview, think of it as an “alpha”) containing another bunch of conformance features. It’s designed to give you early access to a raft of new conformance features in Visual C++, including the following (the first couple are small but I’m breaking them out because the usual C++11/14 conformance lists do it that way):

  • __func__
  • Extended sizeof
  • Implicit move generation
  • Ref-qualifiers: & and && for *this
  • Thread-safe function local static initialization (aka “magic statics”)
  • noexcept (note: this is unconditional noexcept; the CTP likely won’t have the noexcept(expr) style yet)
  • constexpr (note: except for constructors, so the CTP won’t support literal types yet)
  • C++14: generalized lambda capture
  • C++14: auto function return type deduction
  • C++14: decltype(auto)
  • Bonus: “await” as currently proposed for the ISO Concurrency TS

Those are the “high probability” features to make it into the CTP. There’s a chance we might also get a couple more “medium probability” features into the Q4 CTP, such as C++14 generic lambdas, but never fear, we’re implementing them all – whatever features don’t get into this CTP will be at the front of the next batch as we push toward full C++11/14 conformance including the C++14-accompanying specifications for the file system library, basic networking library, and especially Concepts Lite. We’ll keep you posted as we know more.

Read Full Post »

Older Posts »


Get every new post delivered to your Inbox.

Join 2,182 other followers