BeCpp2026 - My Talk
I gave a brand-new talk at BeCpp this year.

I felt the talk was well received, and I had a lot of fun presenting it. Usually I am quite nervous before giving a talk, but I was less nervous than usual this time.
Five of the seven time slots for talks were single-track, meaning there was only one talk to choose from. However, there were two time slots where attendees had a choice between two talks. My talk was in one of those two slots, so I had a bit of competition with Chris Croft-White, who talked about time-traveling debuggers.
Note
Nothing will probably beat the time I spoke at GDC. There were 31 other talks at the same time as mine at GDC!
From chatting with people, it seems the audience was fairly split between our talks. It certainly felt like the room I was speaking in was full.
One of the best aspects of the talk was the Q&A. There were a lot of questions from the audience, and there was a decent amount of discussion from others. Lieven de Cock, another speaker at the symposium, shared valuable advice and insights; he appeared to have a lot of experience in the topic of my talk, and it was great to hear his perspective.
Now for some self-critique. My first critique is that I think I named the talk poorly. Naming things is hard, it would seem. My intention with the title was to emphasize that it is a sequel (or at least related) to last year’s talk (Changing /std:c++14 to /std:c++20: How hard could it be?) — by keeping the same tagline (“How hard could it be?”). However, this made some people think it was the same talk. Five people I spoke to at BeCpp — two of whom were speakers — reached this conclusion, which was a little annoying. I did toy with other title ideas:
- “I’m warning you!”
- “When should a warning be an error?”
- “Empowering your compiler”
I liked “I’m warning you!”, but in the end I decided not to fix what isn’t broken. Last year’s talk was a massive hit, and I might as well ride that wave for as long as I can. Here’s hoping I attract a decent crowd at ACCU On Sea this year despite the issue.
The other main critique is that I made the same mistake I made during Changing /std:c++14 to /std:c++20: How hard could it be?. I forgot to reset the timer on my presentation when I started speaking, so I thought I was five minutes further into my talk than I actually was. This meant I skipped some content and reduced audience participation to make up the time. I don’t think this was noticeable to the audience, but it was a little frustrating nonetheless. The silver lining is that, thanks to the great Q&A, I don’t feel particularly bad about speaking for less time than I intended; in some ways it was a good thing.
For ACCU On Sea, there are clearly things I can improve (though I probably won’t rename the talk at this point). One useful addition would be to cover C++ Profiles. Gabriel Dos Reis’s talk immediately before mine was about profiles. I knew very little about profiles before, but his talk made it clear they are essentially standardized compiler warnings on steroids. Since profiles may arrive in the future and my talk discusses current practice, it makes sense to weave some details about profiles into the talk.
One of the slides in Gabriel’s talk covered the cost of profiles in terms of build speed.

It would probably be a good idea to do a similar analysis for warnings. Is there a cost to enabling /W4 compared to /W0? If so, what could we do to have our cake and eat it too? If there is no noticeable cost, then great — even more reason to enable all warnings!