Move Slow and Break Things

By Alisdair Meredith

One of the principles that has significantly contributed to the successful evolution of C++ over many years is the goal of full backward compatibility and support for existing code written, compiled, and distributed with earlier versions of the language. The commitment to preserving not just source compatibility, but also ABI (binary) compatibility is strong. However, as the language evolves and accumulates new features, we can reveal issues with existing features, and we wish to remove harmful or misleading behavior or to reduce the complexity of growing redundancy.

The C++ Standard has adopted a process to advertise that we would like to remove or change a feature in some future Standard, allowing developers to adapt to such revised rules and to update their code at a time of their choosing, rather than as a cost of updating to the latest Standard. We call this process deprecation.

Eventually, the time comes to remove those deprecated features, even at the cost of sacrificing compatibility with code that has not taken the chance to update. Since backward compatibility is important, we move slowly, over a period of years and multiple Standards, but eventually we will break things.

This session will inform the audience of all the ways their code might break or change meaning when upgrading their code to C++26 and of some remaining deprecated features that could be a consideration for the anticipated C++29.





Your Privacy

By clicking "Accept Non-Essential Cookies" you agree ACCU can store non-essential cookies on your device and disclose information in accordance with our Privacy Policy and Cookie Policy.

Current Setting: Non-Essential Cookies REJECTED


By clicking "Include Third Party Content" you agree ACCU can forward your IP address to third-party sites (such as YouTube) to enhance the information presented on this site, and that third-party sites may store cookies on your device.

Current Setting: Third Party Content EXCLUDED



Settings can be changed at any time from the Cookie Policy page.