My Talk

October 7, 2025

Changes from ACCU

My talk was the same one I gave at ACCU 2025 this year Changing /std:c++14 to /std:c++20: How hard could it be? but with some changes:

  1. I corrected myself with regard to incorrectly equating WinRT and C++/CX from this section of my ACCU talk. WinRT is not something that was a blocker for us at all. I meant to say C++/CX.
  2. Made my expression order slide much clearer. I made a mess of this slide in my ACCU talk and in fact it was called out during the Q&A at ACCU! So, I rewrote this slide and made sure to get my information straight.
  3. Cut out about 15 slides so that I could slow down more and take my time in explaining parts of the talk more.
  4. Emphasized more points which were pointed out by people I met at ACCU. e.g.
    • Emphasized that engineers don’t want to move to older standards. Staying on older C++ standards can harm your chances of hiring
    • If an Xbox first party game can release to another platform, then there is always a chance that any project will need to compile on multiple compilers. Start early.
  5. Gave little updates on what we have done since ACCU in terms of the “what I want to do in the future” section of my ACCU talk.

I feel that in general I was able to keep better time than when I gave my talk at ACCU. For one thing, I actually started my timer at the correct time, so blunders like this didn’t happen. At that point I had not been talking for 40 minutes… clearly.

Q&A

I finished my talk at around the 54 minutes mark which left 5/6 minutes for questions, which is bang on what I was aiming for. However, questions went on for 10 minutes. I really should have cut the questions off at the 60-minute mark, but I completely forgot to. Time management has been improved, but there is still room for improvement!

It was great to see Gabriel Dos Reis (of C++ modules fame) attending my talk and coming up to chat at the Q&A section. He also apologized for “all the pain” which I thought was quite funny :)

Aside from Gabriel there were some great questions in those 10 minutes of the Q&A. One guy, a student called Cam, chanced his arm and asked about plans around a new Conker game. Fair play to him for asking the question but this was a Sea of Thieves talk, so, the only answer he got was “No comment”. I also found it funny because of the fact that he is a student, so he probably wasn’t even born when Conker was first released! This type of thing always amazes me.

Another great question was around refactoring. Paraphrased the question was, “Do you ever find people refactoring old code to make use of all the new features from C++20?”. My answer to this was “No, not really. Refactoring is something that we all want to do but often there is no time to do this. Absolutely for new code, but I would doubt it for old code just for the purpose of refactoring” Or at least that was the gist of the answer. Funnily enough, recently I have found myself doing some refactoring around code that I was adding to. And I did use some C++20 features for that refactoring (mostly designated initializers). So, I guess my corrected answer would now be, “If a refactor is needed, then yeah we would refactor and use the new features if it made sense. Probably still wouldn’t refactor for the sake of refactoring though”.