CppCon, The C++ Conference 2025 - River Wu: "Unsatisfied with the C++ Standard Library? Join The Beman Project!" youtu.be/knWAtBwEzaI Not satisfied with the current C++ standard library? Check out the latest progress of ongoing C++ standard library proposals in the Beman project! Not seeing “the” library proposal you’re looking for? Host an implementation with us! The Beman Project was bootstrapped from C++Now 2024 to advance future standard libraries by providing implementation experience and fostering community engagement. Over the past year, the project has grown significantly, attracting a wealth of expertise in building and maintaining high-quality C++ libraries. Ten libraries that implement standard library proposals targeting near-term, medium-term, and long-term C++ evolution are under active development, with several projects ready for production. In this talk, audiences will learn about some of the latest standard library proposals and their status in the Beman project (with an emphasis on libraries targeting C++26), including their motivations, implementation status, example usage, as well as how to provide feedback and get involved. Audiences will also learn about how to contribute new implementations to the Beman Project, whether they are interested in testing ideas for standardization or if they would like to contribute a new implementation. Including developer infrastructure the Beman Project has built over the past year that will assist their contribution, including our refined approach to uniformity, continuous integration, build system, and package management. Whether you are curious about the latest library proposal, or a library author, this talk will equip you with practical ways to engage with the Beman Project and, by extension, the standardization process.
CppCon, The C++ Conference
Software Development
Aurora, Colorado 21,484 followers
by the C++ Community for the C++ Community
About us
CppCon is the annual, week-long face-to-face gathering for the entire C++ community. The conference is organized by the C++ community for the community. You will enjoy inspirational talks and a friendly atmosphere designed to help attendees learn from each other, meet interesting people, and generally have a stimulating experience. Taking place this year in Aurora, Colorado, near the Denver airport, and including multiple diverse tracks, the conference will appeal to anyone from C++ novices to experts. What you can expect at CppCon: • Invited talks and panels: the CppCon keynote by Bjarne Stroustrup will start off a week full of insight from some of the world’s leading experts in C++. Still have questions? Ask them at one of CppCon’s panels featuring those at the cutting edge of the language. • Presentations by the C++ community: What do embedded systems, game development, high frequency trading, and particle accelerators have in common? C++, of course! Expect talks from a broad range of domains focused on practical C++ techniques, libraries, and tools. • Lightning talks: Get informed at a fast pace during special sessions of short, less formal talks. Never presented at a conference before? This is your chance to share your thoughts on a C++-related topic in an informal setting. • Evening events and “unconference” time: Relax, socialize, or start an impromptu coding session. CppCon’s goal is to encourage the best use of C++ while preserving the diversity of viewpoints and experiences, but other than that it is non-partisan and has no agenda. The conference is a project of the Standard C++ Foundation, a not-for-profit organization whose purpose is to support the C++ software developer community and promote the understanding and use of modern, standard C++ on all compilers and platforms.
- Website
-
https://CppCon.Org/about/
External link for CppCon, The C++ Conference
- Industry
- Software Development
- Company size
- 201-500 employees
- Headquarters
- Aurora, Colorado
- Type
- Nonprofit
- Founded
- 2014
Locations
-
Primary
Get directions
6700 N Gaylord Rockies Blvd
Aurora, Colorado 80019, US
Employees at CppCon, The C++ Conference
Updates
-
CppCon, The C++ Conference 2025 Luis Caro Campos: "Could C++ Developers Handle an ABI Break Today?" youtu.be/VbSKnvldtbs The C++ Evolution Working Group recently reaffirmed its commitment to ABI stability, prioritizing link compatibility with C and older C++. The C++11 libstdc++ ABI updates introduced in gcc 5.1, although not strictly “breaking”, are still in the collective memory of C++ developers and this experience shows us how sensitive the ecosystem is to ABI updates. This talk challenges the assumption that a future ABI break would be equally problematic, as the landscape has evolved significantly in the last decade. On the one hand, the C++ standard has evolved in such a way that even if the standards committee and compiler vendors go through great lengths to avoid breaking the ABI of standard library implementations, library authors are not as cautious - so in practice, the ability to link objects built with different C++ standard levels does not hold true for a lot of cases. On the other hand, tooling has evolved significantly in this time period. For example, both Conan and vcpkg are able to “tag” binaries on some arbitrary ABI version. We can see similar examples in other tools or ecosystems that need to work around ABI complexities. This talk is not intended to argue about the merits or risks of future ABI changes - but to ask ourselves the question: are we overestimating the pain of a future ABI break? --- Luis Caro Campos Luis is a Electronics and Computer Engineer based in the UK, with previous experience as a C++ engineer in the field of Computer Vision and Robotics. With a passion to enable C++ engineers to develop at scale following modern DevOps practices. He is currently part of the Conan team at JFrog, focused on the problems of the C++ community at large.
Could C++ Developers Handle an ABI Break Today? - Luis Caro Campos - CppCon 2025
https://www.youtube.com/
-
CppCon, The C++ Conference 2025 - Hui Xie: "Implement the C++ Standard Library: Design, Optimisations, Testing while Implementing Libc++" youtu.be/iw8hqKftP4I This presentation covers various practical examples in the designs, optimisations and testing in libc++, a standard library implementation. In space optimisation section, it presents various examples of using compact type, reusing tail padding bytes, reusing unused bits in existing bytes, in various standard types: std::stop_token , std::expected , std::optional , std::variant , std::ranges library and std::move_only_function . In time optimisations section, it presents examples of how we optimise std::atomic<T>::wait 's waiting strategy, how we optimised algorithms for segmented iterators, and also how we keep in mind optimisations by leaving the door open for future optimisations. At the same time, compilation time is also important so it also contains examples how unnecessary template instantiations can be avoided. Finally, this talk covers the unit tests of libc++, including the high test coverage of standard spec, the technique we share tests between runtime and constexpr, negative testing and so on. --- Hui Xie is a C++ software developer at Qube Research and Technologies in the finance industry. He is a member of the standard committee WG21 and the UK national body BSI. He usually contributes to the ranges study group SG9. He is also an active contributor to libc++, the clang's standard library implementation.
Implement the C++ Standard Library: Design, Optimisations, Testing while Implementing Libc++
https://www.youtube.com/
-
CppCon, The C++ Conference 2025 Steve Downey: "The Evolution of std::optional - From Boost to C++26" youtu.be/fTbTF0MUsPA Optionals were first proposed for C++ in 2005. Optional<T> , where T is constrained not to be a reference, was added in 2017. Optionals for lvalue references are on track to be added in C++ 26. What are we getting and what design choices were made? This talk will show the results. This talk will discuss the early history of Optionals, starting with Boost.Optional and “N1878: A Proposal to Add an Utility Class to Represent Optional Objects (Revision 1)”, and what the early concerns were for the reference specialization. “P1175R0: A Simple and Practical Optional Reference for C++” then re-proposed reference support for C++20, which was not adopted. In 2020, “P1683R0: References for Standard Library Vocabulary Types - an optional<&>case study” surveyed existing behavior of optional references in the wild, and pointed out the trap of assignment behavior being state dependent. In 2023, “P2988R0: Std:Optional” picked up the torch again, and Revision 10 of that is the proposal that is approved by the Library Working Group. In 2024, “P3168R0: Give Std:Optional Range Support”, the proposal to make optional a range -- as opposed to having a separate range of zero or one -- was adopted. The reference implementation for optional<T&> and the test cases for views::maybe were used to vet the additional interfaces for optional range support. This merged implementation became one of the first Beman libraries, where the library and the optional reference proposal benefited immensely from the visibility and feedback. The core of the difficulty has been that references are not values, and that types containing a reference do not have value semantics. References do not fit comfortably in the C++ type system. The core value semantic type that also has reference semantics is a pointer, but pointers have under-constrained and unsafe semantics. The lengthy discussion has been a proxy for what reference semantic types should look like in value semantic types within the standard library, particularly for "sum" types, like expected and variant, but also for view types such as single. This talk will discuss Project Beman, Value and Reference Semantic Types, Sum and Product Types, CoData, and Lifetime Safety, among other topics. --- Steve Downey Steve Downey has been a programmer for more than 30 years. Steve graduated from SUNY Purchase with a BS in Mathematics. A Computer Science degree would have involved two classes before 11:00 am, so was impossible. He has worked at Bloomberg since 2003, and is currently working as an Engineer on the C++ Infrastructure team.
The Evolution of std::optional - From Boost to C++26 - Steve Downey - CppCon 2025
https://www.youtube.com/
-
CppCon, The C++ Conference 2025 - Opening Keynote: Bjarne Stroustrup: "Concept-based Generic Programming" youtu.be/VMGB75hsDQo This talk presents programming techniques to illustrate the facilities and principles of C++ generic programming using concepts. Concepts are C++’s way to express constraints on generic code. As an initial example, it provides a simple type system that eliminate narrowing conversions and provides range checking. Concepts are used throughout to provide user-defined extensions to the type system. The aim is to show their utility and the fundamental ideas behind them, rather than to provide a detailed or complete explanation of C++’s language support for generic programming or the extensive support provided by the standard library. The final sections briefly present design rationales and origins for key parts of the concept design, including use patterns, the relationship to Object-Oriented Programming, value arguments, syntax, concept type-matching, and definition checking. They also mention static reflection, a C++26 improvements in the support of general programming. --- Bjarne Stroustrup is the designer and original implementer of C++ as well as the author of The C++ Programming Language (4th Edition) and A Tour of C++ (3rd edition), Programming: Principles and Practice using C++ (2nd Edition), and many popular and academic publications. He is a professor of Computer Science in Columbia University in New York City. Dr. Stroustrup is a member of the US National Academy of Engineering, and an IEEE, ACM, and CHM fellow. He received the 2018 Charles Stark Draper Prize, the IEEE Computer Society's 2018 Computer Pioneer Award, and the 2017 IET Faraday Medal. He did much of his most important work in Bell Labs. His research interests include distributed systems, design, programming techniques, software development tools, and programming languages. To make C++ a stable and up-to-date base for real-world software development, he has been a leading figure with the ISO C++ standards effort for more than 30 years. He holds a master’s in Mathematics from Aarhus University, where he is an honorary professor in the Computer Science Department, and a PhD in Computer Science from Cambridge University, where he is an honorary fellow of Churchill College.
Concept-based Generic Programming - Bjarne Stroustrup - CppCon 2025
https://www.youtube.com/
-
Microsoft C++ Team at CppCon, The C++ Conference 2025: Trip Report https://lnkd.in/gFh_XP5K
-
CppCon, The C++ Conference reposted this
An interview of me by Herb Sutter from June just popped up: https://lnkd.in/etXz2Zb2 It seems to have suffered or benefitted from some cut and paste
Bjarne Stroustrup Discusses the Development of the C++ Programming Language
https://www.youtube.com/
-
CppCon, The C++ Conference reposted this
Last month I had the wonderful opportunity to volunteer at CppCon 2025. I got to meet so many great people and I learned so much. When I attended CppNow earlier in the year, I realized how much more there was to C++ than what my education had exposed me to. To be honest, going to that conference was like jumping out of a helicopter into the ocean. C++ has so much to offer, especially in regards to performance and quality of life, but a lot of it is quite complicated. I wanted to learn more, but struggled to know how to get started. Before I knew it, it was time for CppCon, and I realized I hadn't made any progress. My education taught me C++ as if I had to rebuild the wheel for every task. We learned sorting algorithms in a vacuum, but never used them in relation to real data. At CppCon, I saw what people were building and I felt that gap more than ever. The turning point was when during CppNow, my friend had showed me a video of Sean Parent identifying a complicated loop and simply saying, "that's a rotate." Suddenly, it made sense. Modern C++ wasn't about writing more complex code, it was about knowing the right tools to write simpler, more powerful code. That was the spark I needed. It inspired me to finally start a project that will let me explore this modern approach. I would like to thank Réka Kovács and Aaron Robinson for being such great volunteer coordinators and really pulling the entire event together. Without them, I wouldn't have been able to go to the conference. I'd also like to shout out River Wu, Madeline Schneider, Michael Kersey, Aaron, Alex, and Panagiotis Syskakis for being so supportive and helpful with student or volunteer related activities. You all have taught me and helped me so much, and I appreciate that! #Cpp #SoftwareEngineering #Programming
-
-
CppCon, The C++ Conference reposted this
From talks and keynotes covering generic programming, C++ 26, AI tools for C++ and more to poster presentations and networking socials it was an unforgettable experience at this year's CppCon, The C++ Conference. Hats off to Jon Kalb. Presenting along side some of the giants in the C++ ecosystem and revisiting basics was a challenging and rewarding experience and has made me embark on a new journey of learning. I will never forget all the interesting conversations with some of the sharpest minds in the space most of all my encounter with the very inspiring epitome of humility Bjarne Stroustrup someone I never would have dreamt of meeting when I wrote my first C++ program. More to come!
-
-
CppCon, The C++ Conference remembers Rainer Grimm CppCon 2022 - Rainer Grimm: "Back to Basics: The C++ Core Guidelines" youtu.be/UONLB7wBVSc FYI: https://lnkd.in/eGPUNxzR Rainer Grimm my als journey 31/31 the-end Why do we need guidelines for modern C++? My answer boils down to three points: 1. C++ is complex for the novices 2. C++ is challenging for the professionals 3. C++ is used in safety-critical software The C++ Core Guidelines are a C++ community-driven project by the editors Bjarne Stroustrup and Herb Sutter. They provide best practices for modern C++, including all important aspects of software development such as, for example, interfaces, functions, classes, concurrency, and templates. Applying the C++ Core Guidelines means writing correct software by design. In my talk, I present the most important rules of the C++ Core Guidelines. My talk should not be your endpoint but your starting point for a more profound studying of their invaluable rules. --- Rainer Grimm Rainer has worked as a software architect, team lead, and instructor since 1999. In 2002, Rainer created a company-intern meeting for further education and had given training courses since 2002. Rainer's first tutorials were about proprietary management software, but he began teaching Python and C++ soon after. In his spare time, he likes to write articles about C++, Python, and Haskell and speak at conferences. Rainer publishes weekly on his English blog Modernes C++. Since 2016, Rainer has been an independent instructor, giving seminars about modern C++ and Python. Due to his profession, he constantly searches for the best way to teach modern C++. He published several books in various languages about modern C++ in the last ten years, including the last one "C++ Core Guidelines Explained: Best Practices for Modern C++".
Back to Basics: The C++ Core Guidelines - Rainer Grimm - CppCon 2022
https://www.youtube.com/